Em sex., 18 de out. de 2024 às 06:41, Peter Eisentraut <[email protected]>
escreveu:
> 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.
>
Thanks.
Thanks Alexander, for the hard work.
best regards,
Ranier Vilela