Re: replace strtok() - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: replace strtok()
Date
Msg-id 00ebf832-0f69-4562-aa1c-b5266f578dc6@eisentraut.org
Whole thread Raw
In response to replace strtok()  (Peter Eisentraut <peter@eisentraut.org>)
Responses Re: replace strtok()
List pgsql-hackers
On 16.10.24 09:42, Peter Eisentraut wrote:
> On 15.10.24 14:00, Alexander Lakhin 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.
> 
> Yes, this is indeed incorrect.  We need to keep a separate pointer to 
> the start of the string to free later.  This matches the example on the 
> strsep man page (https://man.freebsd.org/cgi/man.cgi?strsep(3)).  Patch 
> attached.

I have committed both fixes mentioned in this thread in the last couple 
of days.




pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: Wrong security context for deferred triggers?
Next
From: Amit Kapila
Date:
Subject: Re: Conflict detection for update_deleted in logical replication