Em sex., 18 de out. de 2024 às 06:41, Peter Eisentraut <pe...@eisentraut.org> 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