From: Wez Furlong Date: Sat, 19 Apr 2003 10:28:45 +0000 (+0000) Subject: Fix 2 potential segfaults. X-Git-Tag: SPL_ALPHA~162 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=664026025398ecdbb218334aee86259165eeec38;p=php Fix 2 potential segfaults. --- diff --git a/ext/sqlite/sqlite.c b/ext/sqlite/sqlite.c index 630e701374..da712c1cb1 100644 --- a/ext/sqlite/sqlite.c +++ b/ext/sqlite/sqlite.c @@ -144,7 +144,9 @@ static void real_result_dtor(struct php_sqlite_result *res) for (i = 0; i < res->nrows; i++) { base = i * res->ncolumns; for (j = 0; j < res->ncolumns; j++) { - efree(res->table[base + j]); + if (res->table[base + j] != NULL) { + efree(res->table[base + j]); + } } } if (res->table) { @@ -465,7 +467,6 @@ PHP_FUNCTION(sqlite_popen) } /* }}} */ - /* {{{ proto resource sqlite_open(string filename [, int mode, string &errmessage]) Opens an SQLite database. Will create the database if it does not exist */ PHP_FUNCTION(sqlite_open) @@ -891,7 +892,7 @@ PHP_FUNCTION(sqlite_field_name) RETURN_FALSE; } - RETURN_STRING(res->table[field], 1); + RETURN_STRING(res->col_names[field], 1); } else { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Field name not available for unbuffered queries"); RETURN_FALSE;