aboutsummaryrefslogtreecommitdiff
path: root/lang/php5/patches/091-fix-sqlite2.patch
diff options
context:
space:
mode:
authorW. Michael Petullo <mike@flyn.org>2014-09-28 21:56:33 -0400
committerW. Michael Petullo <mike@flyn.org>2014-09-28 21:56:33 -0400
commit7771752217dced2eea46779d69c7e9534bff3893 (patch)
treec76848bc5ee4e108c29ded3a1e0f02916b3fea3b /lang/php5/patches/091-fix-sqlite2.patch
parent99f0ea47ceeaba1f901adaecbae52f93347d11c3 (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.patch101
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();