Skip to content

Commit e145ab5

Browse files
committed
attempt to fix double free on failed query
1 parent 49a1413 commit e145ab5

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

ext/sqlite/sqlite.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1357,7 +1357,10 @@ PHP_FUNCTION(sqlite_array_query)
13571357
rres = (struct php_sqlite_result *)emalloc(sizeof(*rres));
13581358
sqlite_query(db, sql, sql_len, mode, 0, NULL, rres TSRMLS_CC);
13591359
if (db->last_err_code != SQLITE_OK) {
1360-
efree(rres);
1360+
if(!rres->vm) {
1361+
/* no query happened - it's out responsibility to free it */
1362+
efree(rres);
1363+
}
13611364
RETURN_FALSE;
13621365
}
13631366

0 commit comments

Comments
 (0)