diff options
author | Ilia Alshanetsky <iliaa@php.net> | 2004-05-20 18:10:16 +0000 |
---|---|---|
committer | Ilia Alshanetsky <iliaa@php.net> | 2004-05-20 18:10:16 +0000 |
commit | b7784d96b0b702af82aca2ec543eb46ce8022f14 (patch) | |
tree | b17febc94fc82fd250d9a4430973dc1738b23466 /ext/pdo_pgsql/pgsql_statement.c | |
parent | cf33729c20e734e4b9f013ebc91857bb5e2e9eac (diff) | |
download | php-git-b7784d96b0b702af82aca2ec543eb46ce8022f14.tar.gz |
Fixed possible crash.
Diffstat (limited to 'ext/pdo_pgsql/pgsql_statement.c')
-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); |