diff options
-rw-r--r-- | ext/pdo_pgsql/pgsql_statement.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c index 4e2e2b702c..8808e91ef7 100644 --- a/ext/pdo_pgsql/pgsql_statement.c +++ b/ext/pdo_pgsql/pgsql_statement.c @@ -110,6 +110,10 @@ static int pgsql_stmt_describe(pdo_stmt_t *stmt, int colno TSRMLS_DC) pdo_pgsql_stmt *S = (pdo_pgsql_stmt*)stmt->driver_data; struct pdo_column_data *cols = stmt->columns; + if (!S->result) { + return 0; + } + cols[colno].name = estrdup(PQfname(S->result, colno)); cols[colno].namelen = strlen(cols[colno].name); cols[colno].maxlen = PQfsize(S->result, colno); @@ -123,6 +127,10 @@ static int pgsql_stmt_get_col(pdo_stmt_t *stmt, int colno, char **ptr, unsigned { pdo_pgsql_stmt *S = (pdo_pgsql_stmt*)stmt->driver_data; + if (!S->result) { + return 0; + } + /* We have already increased count by 1 in pgsql_stmt_fetch() */ *ptr = PQgetvalue(S->result, S->current_row - 1, colno); *len = PQgetlength(S->result, S->current_row - 1, colno); |