From e145ab54dab48d905e31b4e6e619ba5eb9fb198c Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Sun, 16 May 2004 16:34:27 +0000 Subject: attempt to fix double free on failed query --- ext/sqlite/sqlite.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ext/sqlite/sqlite.c b/ext/sqlite/sqlite.c index 2f87ed90c0..aee838384f 100644 --- a/ext/sqlite/sqlite.c +++ b/ext/sqlite/sqlite.c @@ -1357,7 +1357,10 @@ PHP_FUNCTION(sqlite_array_query) rres = (struct php_sqlite_result *)emalloc(sizeof(*rres)); sqlite_query(db, sql, sql_len, mode, 0, NULL, rres TSRMLS_CC); if (db->last_err_code != SQLITE_OK) { - efree(rres); + if(!rres->vm) { + /* no query happened - it's out responsibility to free it */ + efree(rres); + } RETURN_FALSE; } -- cgit v1.2.1