summaryrefslogtreecommitdiff
path: root/ext/pdo_pgsql/pgsql_statement.c
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2004-05-20 18:10:16 +0000
committerIlia Alshanetsky <iliaa@php.net>2004-05-20 18:10:16 +0000
commitb7784d96b0b702af82aca2ec543eb46ce8022f14 (patch)
treeb17febc94fc82fd250d9a4430973dc1738b23466 /ext/pdo_pgsql/pgsql_statement.c
parentcf33729c20e734e4b9f013ebc91857bb5e2e9eac (diff)
downloadphp-git-b7784d96b0b702af82aca2ec543eb46ce8022f14.tar.gz
Fixed possible crash.
Diffstat (limited to 'ext/pdo_pgsql/pgsql_statement.c')
-rw-r--r--ext/pdo_pgsql/pgsql_statement.c8
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);