Re: [HACKERS] REL9_6_STABLE - a minor bug in src/common/exec.c

From: Anna Akenteva <a(dot)akenteva(at)postgrespro(dot)ru>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: [HACKERS] REL9_6_STABLE - a minor bug in src/common/exec.c
Date: 2018-01-18 12:27:43
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

After checking some code from REL9_6_STABLE with a static analyzer, I've
found this bit:

src/common/exec.c:586 putenv(strdup(env_path));
src/common/exec.c:597 putenv(strdup(env_path));

Theoretically, strdup might return NULL, and we'll send NULL as an
argument to putenv(),
which in turn will try to call strdup(NULL) and it will result in
So this seems like a bug, although maybe it would act out very rarely.
I've noticed that it's fixed in REL10_STABLE, there we do this instead:

src/common/exec.c:556 char *dup_path;
src/common/exec.c:587 dup_path = strdup(env_path);
src/common/exec.c:588 if (dup_path)
src/common/exec.c:589 putenv(dup_path);
src/common/exec.c:600 dup_path = strdup(env_path);
src/common/exec.c:601 if (dup_path)
src/common/exec.c:602 putenv(dup_path);

Would it be possible to fix it the same way in REL9_6_STABLE and maybe
other older versions too?

Anna Akenteva
Postgres Professional:
The Russian Postgres Company


Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2018-01-18 12:35:04 Re: [HACKERS] Parallel tuplesort (for parallel B-Tree index creation)
Previous Message Kyotaro HORIGUCHI 2018-01-18 12:16:41 Re: [HACKERS] [PATCH] Improve geometric types