diff options
author | W. Michael Petullo <mike@flyn.org> | 2014-09-28 21:56:33 -0400 |
---|---|---|
committer | W. Michael Petullo <mike@flyn.org> | 2014-09-28 21:56:33 -0400 |
commit | 7771752217dced2eea46779d69c7e9534bff3893 (patch) | |
tree | c76848bc5ee4e108c29ded3a1e0f02916b3fea3b /lang/php5/patches/091-fix-sqlite2.patch | |
parent | 99f0ea47ceeaba1f901adaecbae52f93347d11c3 (diff) |
Copy php5 from old repository and update
Signed-off-by: W. Michael Petullo <mike@flyn.org>
Diffstat (limited to 'lang/php5/patches/091-fix-sqlite2.patch')
-rw-r--r-- | lang/php5/patches/091-fix-sqlite2.patch | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/lang/php5/patches/091-fix-sqlite2.patch b/lang/php5/patches/091-fix-sqlite2.patch new file mode 100644 index 000000000..fcbfb230c --- /dev/null +++ b/lang/php5/patches/091-fix-sqlite2.patch @@ -0,0 +1,101 @@ +--- a/ext/sqlite/pdo_sqlite2.c ++++ b/ext/sqlite/pdo_sqlite2.c +@@ -522,11 +522,6 @@ static char *make_filename_safe(const ch + return NULL; + } + +- if (PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { +- efree(fullpath); +- return NULL; +- } +- + if (php_check_open_basedir(fullpath TSRMLS_CC)) { + efree(fullpath); + return NULL; +@@ -585,7 +580,7 @@ static int pdo_sqlite2_handle_factory(pd + + if (!filename) { + zend_throw_exception_ex(php_pdo_get_exception(), 0 TSRMLS_CC, +- "safe_mode/open_basedir prohibits opening %s", ++ "open_basedir prohibits opening %s", + dbh->data_source); + goto cleanup; + } +--- a/ext/sqlite/sqlite.c ++++ b/ext/sqlite/sqlite.c +@@ -1066,10 +1066,6 @@ static int php_sqlite_authorizer(void *a + case SQLITE_COPY: + if (strncmp(arg4, ":memory:", sizeof(":memory:") - 1)) { + TSRMLS_FETCH(); +- if (PG(safe_mode) && (!php_checkuid(arg4, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { +- return SQLITE_DENY; +- } +- + if (php_check_open_basedir(arg4 TSRMLS_CC)) { + return SQLITE_DENY; + } +@@ -1079,10 +1075,6 @@ static int php_sqlite_authorizer(void *a + case SQLITE_ATTACH: + if (strncmp(arg3, ":memory:", sizeof(":memory:") - 1)) { + TSRMLS_FETCH(); +- if (PG(safe_mode) && (!php_checkuid(arg3, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { +- return SQLITE_DENY; +- } +- + if (php_check_open_basedir(arg3 TSRMLS_CC)) { + return SQLITE_DENY; + } +@@ -1160,13 +1152,12 @@ static void sqlite_object_free_storage(v + static void sqlite_object_new(zend_class_entry *class_type, zend_object_handlers *handlers, zend_object_value *retval TSRMLS_DC) + { + sqlite_object *intern; +- zval *tmp; + + intern = emalloc(sizeof(sqlite_object)); + memset(intern, 0, sizeof(sqlite_object)); + + zend_object_std_init(&intern->std, class_type TSRMLS_CC); +- zend_hash_copy(intern->std.properties, &class_type->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *)); ++ object_properties_init(&intern->std, class_type); + + retval->handle = zend_objects_store_put(intern, (zend_objects_store_dtor_t)zend_objects_destroy_object, (zend_objects_free_object_storage_t) sqlite_object_free_storage, NULL TSRMLS_CC); + retval->handlers = handlers; +@@ -1510,7 +1501,7 @@ static struct php_sqlite_db *php_sqlite_ + /* authorizer hook so we can enforce safe mode + * Note: the declaration of php_sqlite_authorizer is correct for 2.8.2 of libsqlite, + * and IS backwards binary compatible with earlier versions */ +- if (PG(safe_mode) || (PG(open_basedir) && *PG(open_basedir))) { ++ if (PG(open_basedir) && *PG(open_basedir)) { + sqlite_set_authorizer(sdb, php_sqlite_authorizer, NULL); + } + +@@ -1569,8 +1560,7 @@ PHP_FUNCTION(sqlite_popen) + RETURN_FALSE; + } + +- if ((PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || +- php_check_open_basedir(fullpath TSRMLS_CC)) { ++ if (php_check_open_basedir(fullpath TSRMLS_CC)) { + efree(fullpath); + RETURN_FALSE; + } +@@ -1656,8 +1646,7 @@ PHP_FUNCTION(sqlite_open) + } + } + +- if ((PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || +- php_check_open_basedir(fullpath TSRMLS_CC)) { ++ if (php_check_open_basedir(fullpath TSRMLS_CC)) { + efree(fullpath); + zend_restore_error_handling(&error_handling TSRMLS_CC); + if (object) { +@@ -1710,8 +1699,7 @@ PHP_FUNCTION(sqlite_factory) + RETURN_NULL(); + } + +- if ((PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || +- php_check_open_basedir(fullpath TSRMLS_CC)) { ++ if (php_check_open_basedir(fullpath TSRMLS_CC)) { + efree(fullpath); + zend_restore_error_handling(&error_handling TSRMLS_CC); + RETURN_NULL(); |