@@ -1011,6 +1011,7 @@ void sqlite_query(struct php_sqlite_db *db, char *sql, long sql_len, int mode, i
1011
1011
if (return_value ) {
1012
1012
RETURN_FALSE ;
1013
1013
} else {
1014
+ efree (rres );
1014
1015
return ;
1015
1016
}
1016
1017
}
@@ -1021,7 +1022,6 @@ void sqlite_query(struct php_sqlite_db *db, char *sql, long sql_len, int mode, i
1021
1022
memcpy (rres , & res , sizeof (* rres ));
1022
1023
rres -> db = db ;
1023
1024
zend_list_addref (db -> rsrc_id );
1024
-
1025
1025
1026
1026
/* now the result set is ready for stepping: get first row */
1027
1027
if (php_sqlite_fetch (rres TSRMLS_CC ) != SQLITE_OK ) {
@@ -1357,10 +1357,7 @@ PHP_FUNCTION(sqlite_array_query)
1357
1357
rres = (struct php_sqlite_result * )emalloc (sizeof (* rres ));
1358
1358
sqlite_query (db , sql , sql_len , mode , 0 , NULL , rres TSRMLS_CC );
1359
1359
if (db -> last_err_code != SQLITE_OK ) {
1360
- if (!rres -> vm ) {
1361
- /* no query happened - it's out responsibility to free it */
1362
- efree (rres );
1363
- }
1360
+ /* no need to free rres, as it will be freed by sqlite_query() for us */
1364
1361
RETURN_FALSE ;
1365
1362
}
1366
1363
@@ -1465,7 +1462,7 @@ PHP_FUNCTION(sqlite_single_query)
1465
1462
rres = (struct php_sqlite_result * )emalloc (sizeof (* rres ));
1466
1463
sqlite_query (db , sql , sql_len , PHPSQLITE_NUM , 0 , NULL , rres TSRMLS_CC );
1467
1464
if (db -> last_err_code != SQLITE_OK ) {
1468
- efree ( rres );
1465
+ /* no need to free rres, as it will be freed by sqlite_query() for us */
1469
1466
RETURN_FALSE ;
1470
1467
}
1471
1468
0 commit comments