Skip to content

Commit 2e6f6f3

Browse files
committed
Handle PQresultErrorField(PG_DIAG_SQLSTATE) returning NULL in streamutil.c.
In ff27db5 I missed that PQresultErrorField() may return NULL if there's no sqlstate associated with an error. Spotted-By: Coverity Reported-By: Michael Paquier Discussion: CAB7nPqQ3o10SY6NVdU4pjq85GQTN5tbbkq2gnNUh2fBNU3rKyQ@mail.gmail.com Backpatch: 9.5, like ff27db5
1 parent 43a8ed2 commit 2e6f6f3

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/bin/pg_basebackup/streamutil.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,9 @@ CreateReplicationSlot(PGconn *conn, const char *slot_name, const char *plugin,
340340
{
341341
const char *sqlstate = PQresultErrorField(res, PG_DIAG_SQLSTATE);
342342

343-
if (slot_exists_ok && strcmp(sqlstate, ERRCODE_DUPLICATE_OBJECT) == 0)
343+
if (slot_exists_ok &&
344+
sqlstate &&
345+
strcmp(sqlstate, ERRCODE_DUPLICATE_OBJECT) == 0)
344346
{
345347
destroyPQExpBuffer(query);
346348
PQclear(res);

0 commit comments

Comments
 (0)