Re: Missing NULL check after calling ecpg_strdup

From: Aleksander Alekseev <aleksander(at)tigerdata(dot)com>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Cc: Evgeniy Gorbanev <gorbanyoves(at)basealt(dot)ru>
Subject: Re: Missing NULL check after calling ecpg_strdup
Date: 2025-07-14 13:22:09
Message-ID: CAJ7c6TPHq8=w6H7V+A_=veenFrjQFqVTAyK7bgweX9PL2ko9_w@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

> While working on it I noticed a potentially problematic strcmp call,
> marked with XXX in the patch. I didn't address this issue in v2.

Here is the corrected patch v3. Changes since v2:

```
for (con = all_connections; con != NULL; con = con->next)
{
- /* XXX strcmp() will segfault if con->name is NULL */
- if (strcmp(connection_name, con->name) == 0)
+ /* Check for NULL to prevent segfault */
+ if (con->name != NULL &&
strcmp(connection_name, con->name) == 0)
break;
}
ret = con;
```

I was tired or something and didn't think of this trivial fix.

As a side note it looks like ecpg could use some refactoring, but this
is subject for another patch IMO.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Aleksander Alekseev 2025-07-14 13:23:10 Re: Missing NULL check after calling ecpg_strdup
Previous Message Dmitry Dolgov 2025-07-14 13:20:03 Re: Changing shared_buffers without restart