diff options
| author | Ilia Alshanetsky <iliaa@php.net> | 2004-01-14 21:17:09 +0000 |
|---|---|---|
| committer | Ilia Alshanetsky <iliaa@php.net> | 2004-01-14 21:17:09 +0000 |
| commit | b3853af0b7509d135b84e22e8caa3141ba5d9422 (patch) | |
| tree | ba589f4019a0c61498d3869e6e95dca21713f1f8 /ext/sqlite | |
| parent | 8a40a946dead2672a3a5593183ca7d1a7736297e (diff) | |
| download | php-git-b3853af0b7509d135b84e22e8caa3141ba5d9422.tar.gz | |
MFH: Fixed bug #26911 (crash in sqlite extension when fetching data from
empty queries).
Diffstat (limited to 'ext/sqlite')
| -rw-r--r-- | ext/sqlite/sqlite.c | 3 | ||||
| -rw-r--r-- | ext/sqlite/tests/bug26911.phpt | 10 |
2 files changed, 13 insertions, 0 deletions
diff --git a/ext/sqlite/sqlite.c b/ext/sqlite/sqlite.c index ba9c2b4296..74ed212f8c 100644 --- a/ext/sqlite/sqlite.c +++ b/ext/sqlite/sqlite.c @@ -1455,6 +1455,9 @@ void sqlite_query(zval *object, struct php_sqlite_db *db, char *sql, long sql_le if (ret != SQLITE_OK) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", errtext); sqlite_freemem(errtext); + goto terminate; + } else if (!res.vm) { /* empty query */ +terminate: if (return_value) { RETURN_FALSE; } else { diff --git a/ext/sqlite/tests/bug26911.phpt b/ext/sqlite/tests/bug26911.phpt new file mode 100644 index 0000000000..e81aeae763 --- /dev/null +++ b/ext/sqlite/tests/bug26911.phpt @@ -0,0 +1,10 @@ +--TEST-- +Bug #26911 (crash when fetching data from empty queries) +--FILE-- +<?php + $db = sqlite_open(":memory:"); + $a = sqlite_query($db, " "); + echo "I am ok\n"; +?> +--EXPECT-- +I am ok |
