From ecc466465f1fcdd7e09df0d6196bdddc846569e9 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Sat, 13 Jan 2024 19:35:37 +0100 Subject: [PATCH 1/2] Remove always-true stmt_obj->db_obj condition This is always true because SQLITE3_CHECK_INITIALIZED checks this. --- ext/sqlite3/sqlite3.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c index 083a8d50a2caf..6d2cbd039a3ab 100644 --- a/ext/sqlite3/sqlite3.c +++ b/ext/sqlite3/sqlite3.c @@ -1427,9 +1427,7 @@ PHP_METHOD(SQLite3Stmt, close) SQLITE3_CHECK_INITIALIZED(stmt_obj->db_obj, stmt_obj->initialised, SQLite3); - if(stmt_obj->db_obj) { - zend_llist_del_element(&(stmt_obj->db_obj->free_list), object, (int (*)(void *, void *)) php_sqlite3_compare_stmt_zval_free); - } + zend_llist_del_element(&(stmt_obj->db_obj->free_list), object, (int (*)(void *, void *)) php_sqlite3_compare_stmt_zval_free); RETURN_TRUE; } From 5ee31c771dbafaa8531c7d61ea1a7a40a1cb4f6d Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Sat, 13 Jan 2024 19:36:21 +0100 Subject: [PATCH 2/2] Remove always-true param_number check This is always true because we return early when the value < 1. --- ext/sqlite3/sqlite3.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c index 6d2cbd039a3ab..cad3796ffdbf7 100644 --- a/ext/sqlite3/sqlite3.c +++ b/ext/sqlite3/sqlite3.c @@ -1680,9 +1680,7 @@ static int register_bound_parameter_to_sqlite(struct php_sqlite3_bound_param *pa return 0; } - if (param->param_number >= 1) { - zend_hash_index_del(hash, param->param_number); - } + zend_hash_index_del(hash, param->param_number); if (param->name) { zend_hash_update_mem(hash, param->name, param, sizeof(struct php_sqlite3_bound_param));