summaryrefslogtreecommitdiff
path: root/ext/sqlite3/sqlite3.c
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2019-03-11 16:28:46 +0100
committerChristoph M. Becker <cmbecker69@gmx.de>2019-03-11 16:30:16 +0100
commite7ce7c6bb211011569d8036b663bc4ccd45b9984 (patch)
tree783cad157c6310a1809fcef545e9873703da397a /ext/sqlite3/sqlite3.c
parent6818ca3c022d70bd48ac86df8798aa537245935c (diff)
parente93259bb23500e26a7b0317cde9ad5398eec074e (diff)
downloadphp-git-e7ce7c6bb211011569d8036b663bc4ccd45b9984.tar.gz
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2: SQLite3: add DEFENSIVE config for SQLite >= 3.26.0 as a mitigation strategy against potential security flaws
Diffstat (limited to 'ext/sqlite3/sqlite3.c')
-rw-r--r--ext/sqlite3/sqlite3.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/sqlite3/sqlite3.c b/ext/sqlite3/sqlite3.c
index 7aa28a39b7..43ae17297e 100644
--- a/ext/sqlite3/sqlite3.c
+++ b/ext/sqlite3/sqlite3.c
@@ -79,6 +79,9 @@ static void php_sqlite3_error(php_sqlite3_db_object *db_obj, char *format, ...)
*/
PHP_INI_BEGIN()
STD_PHP_INI_ENTRY("sqlite3.extension_dir", NULL, PHP_INI_SYSTEM, OnUpdateString, extension_dir, zend_sqlite3_globals, sqlite3_globals)
+#if SQLITE_VERSION_NUMBER >= 3026000
+ STD_PHP_INI_ENTRY("sqlite3.defensive", "1", PHP_INI_SYSTEM, OnUpdateBool, dbconfig_defensive, zend_sqlite3_globals, sqlite3_globals)
+#endif
PHP_INI_END()
/* }}} */
@@ -164,6 +167,12 @@ PHP_METHOD(sqlite3, open)
sqlite3_set_authorizer(db_obj->db, php_sqlite3_authorizer, NULL);
}
+#if SQLITE_VERSION_NUMBER >= 3026000
+ if (SQLITE3G(dbconfig_defensive)) {
+ sqlite3_db_config(db_obj->db, SQLITE_DBCONFIG_DEFENSIVE, 1, NULL);
+ }
+#endif
+
if (fullpath != filename) {
efree(fullpath);
}