Re: replace strtok()

From: Alexander Lakhin <exclusion(at)gmail(dot)com>
To: Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>, Peter Eisentraut <peter(at)eisentraut(dot)org>
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-15 12:00:00
Message-ID: 51cbebb6-f5e6-4496-3fc2-df6869f08f82@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello Ranier and Peter,

15.10.2024 14:44, Ranier Vilela wrote:
>
>
> Em ter., 15 de out. de 2024 às 03:45, Peter Eisentraut <peter(at)eisentraut(dot)org> escreveu:
>
>
> Thanks for the analysis.  I think moreover we *only* need to check the
> "stringp" for NULL, not the return value of strsep(), which would never
> be NULL in our case.  So I propose the attached patch as a variant of yours.
>
> I'm not 100% sure, but the contrib passwordcheck uses and It's not very safe.
> The checks of NULL return are cheap, and will protect unwary users.
>
> So I'm neutral here.

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.

Best regards,
Alexander

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Ranier Vilela 2024-10-15 12:07:16 Re: replace strtok()
Previous Message Ranier Vilela 2024-10-15 11:44:17 Re: replace strtok()