Re: replace strtok()

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>, Alexander Lakhin <exclusion(at)gmail(dot)com>
Cc: David Steele <david(at)pgmasters(dot)net>, Michael Paquier <michael(at)paquier(dot)xyz>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: replace strtok()
Date: 2024-10-16 07:45:33
Message-ID: 5da63fb1-f388-4ce0-948d-2041054d6e40@eisentraut.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 15.10.24 14:07, Ranier Vilela wrote:
> I also wonder, if other places touched by 5d2e1cc11 need corrections
> too.
> I played with
> PG_COLOR=always PG_COLORS="error=01;31" .../initdb
>
> and it looks like this free() call in pg_logging_init():
>             char       *colors = strdup(pg_colors_env);
>
>             if (colors)
>             {
> ...
>                 while ((token = strsep(&colors, ":")))
>                 {
> ...
>                 }
>
>                 free(colors);
>             }
> gets null in colors.
>
> Yeah, I also saw this usage, but I was waiting for a definition for the
> first report.
> The solution IMO, would be the same.
>
> diff --git a/src/common/logging.c b/src/common/logging.c
> index aedd1ae2d8..45b5316d48 100644
> --- a/src/common/logging.c
> +++ b/src/common/logging.c
> @@ -121,7 +121,7 @@ pg_logging_init(const char *argv0)
>   {
>   char   *token;
>
> - while ((token = strsep(&colors, ":")))
> + while ((token = strsep(&colors, ":")) != NULL && colors != NULL)
>   {
>   char   *e = strchr(token, '=');
> The advantage of this change is that it would avoid processing
> unnecessary tokens.

This wouldn't fix anything, I think. If colors is NULL, then strsep()
already returns NULL, so the added code does nothing.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2024-10-16 07:49:48 Re: Enable data checksums by default
Previous Message Andy Fan 2024-10-16 07:43:27 Re: New function normal_rand_array function to contrib/tablefunc.