summaryrefslogtreecommitdiff
path: root/ext/sqlite/sqlite.c
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2003-12-10 01:02:20 +0000
committerIlia Alshanetsky <iliaa@php.net>2003-12-10 01:02:20 +0000
commit06b528aa547042f5df45954ad9fea511288e11cd (patch)
treec1478301dec646fe833fd87ecdc4aa4eb7ba2d16 /ext/sqlite/sqlite.c
parentbfdc1fcac0fa02fdc08eaa20fba96caaed0ca242 (diff)
downloadphp-git-06b528aa547042f5df45954ad9fea511288e11cd.tar.gz
Fixed a crash in SQLite when fetching data using sqlite_fetch_object() in
a loop.
Diffstat (limited to 'ext/sqlite/sqlite.c')
-rw-r--r--ext/sqlite/sqlite.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/sqlite/sqlite.c b/ext/sqlite/sqlite.c
index a6bb92c5f8..535455ccab 100644
--- a/ext/sqlite/sqlite.c
+++ b/ext/sqlite/sqlite.c
@@ -1845,7 +1845,11 @@ PHP_FUNCTION(sqlite_fetch_object)
return;
}
- php_sqlite_fetch_array(res, PHPSQLITE_ASSOC, decode_binary, 1, &dataset TSRMLS_CC);
+ if (res->curr_row < res->nrows) {
+ php_sqlite_fetch_array(res, PHPSQLITE_ASSOC, decode_binary, 1, &dataset TSRMLS_CC);
+ } else {
+ RETURN_FALSE;
+ }
object_and_properties_init(return_value, ce, NULL);
zend_merge_properties(return_value, Z_ARRVAL(dataset), 1 TSRMLS_CC);