From 83a78317609a09acd809598bffe4e8ca19a380b2 Mon Sep 17 00:00:00 2001 From: Felipe Pena Date: Fri, 10 Dec 2010 17:50:26 +0000 Subject: [PATCH] - Fixed bug #53517 (segfault in pgsql_stmt_execute() when postgres is down) patch by: gyp at balabit dot hu --- NEWS | 4 ++++ ext/pdo_pgsql/pgsql_statement.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index b67578771a..06e28efcf8 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,10 @@ . Fixed bug #39199 (Cannot load Lob data with more than 4000 bytes on ORACLE 10). (spatar at mail dot nnov dot ru) +- PDO PostgreSQL driver: + . Fixed bug #53517 (segfault in pgsql_stmt_execute() when postgres is down). + (gyp at balabit dot hu) + - Zend Engine: . Indirect reference to $this fails to resolve if direct $this is never used in method. (Scott) diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c index b0829452f6..6380acbfc1 100644 --- a/ext/pdo_pgsql/pgsql_statement.c +++ b/ext/pdo_pgsql/pgsql_statement.c @@ -184,7 +184,7 @@ stmt_retry: * chance to DEALLOCATE the prepared statements it has created. so, if we hit a 42P05 we * deallocate it and retry ONCE (thies 2005.12.15) */ - if (!strcmp(sqlstate, "42P05")) { + if (sqlstate && !strcmp(sqlstate, "42P05")) { char buf[100]; /* stmt_name == "pdo_crsr_%08x" */ PGresult *res; snprintf(buf, sizeof(buf), "DEALLOCATE %s", S->stmt_name); -- 2.40.0