Patch pecl-bug-61989.diff for dio Bug #61989
Patch version 2012-05-30 08:55 UTC
Return to Bug #61989 |
Download this patch
Patch Revisions:
Developer: daniel.mueller@inexio.net
--- dio.c.orig 2012-05-29 18:31:12.000000000 +0200
+++ dio.c 2012-05-29 18:41:04.000000000 +0200
@@ -96,9 +96,14 @@
return;
}
- if (php_check_open_basedir(file_name TSRMLS_CC) || (PG(safe_mode) && !php_checkuid(file_name, "wb+", CHECKUID_CHECK_MODE_PARAM))) {
+ if (php_check_open_basedir(file_name TSRMLS_CC)) {
RETURN_FALSE;
}
+#if PHP_VERSION_ID < 50399
+ if (PG(safe_mode) && !php_checkuid(file_name, "wb+", CHECKUID_CHECK_MODE_PARAM)) {
+ RETURN_FALSE;
+ }
+#endif
if (ZEND_NUM_ARGS() == 3) {
fd = open(file_name, flags, mode);
--- dio_stream_wrappers.c.orig 2012-02-17 15:52:01.000000000 +0100
+++ dio_stream_wrappers.c 2012-05-29 18:37:02.000000000 +0200
@@ -143,10 +143,14 @@
filename = path + sizeof(DIO_RAW_STREAM_PROTOCOL) - 1;
/* Check we can actually access it. */
- if (php_check_open_basedir(filename TSRMLS_CC) ||
- (PG(safe_mode) && !php_checkuid(filename, mode, CHECKUID_CHECK_MODE_PARAM))) {
+ if (php_check_open_basedir(filename TSRMLS_CC)) {
return NULL;
}
+#if PHP_VERSION_ID < 50399
+ if (PG(safe_mode) && !php_checkuid(filename, mode, CHECKUID_CHECK_MODE_PARAM)) {
+ return NULL;
+ }
+#endif
data = dio_create_stream_data();
data->stream_type = DIO_STREAM_TYPE_RAW;
@@ -210,10 +214,14 @@
}
/* Check we can actually access the file. */
- if (php_check_open_basedir(filename TSRMLS_CC) ||
- (PG(safe_mode) && !php_checkuid(filename, mode, CHECKUID_CHECK_MODE_PARAM))) {
+ if (php_check_open_basedir(filename TSRMLS_CC)) {
+ RETURN_FALSE;
+ }
+#if PHP_VERSION_ID < 50399
+ if (PG(safe_mode) && !php_checkuid(filename, mode, CHECKUID_CHECK_MODE_PARAM)) {
RETURN_FALSE;
}
+#endif
data = dio_create_stream_data();
data->stream_type = DIO_STREAM_TYPE_RAW;
@@ -307,10 +315,14 @@
filename = path + sizeof(DIO_SERIAL_STREAM_PROTOCOL) - 1;
/* Check we can actually access it. */
- if (php_check_open_basedir(filename TSRMLS_CC) ||
- (PG(safe_mode) && !php_checkuid(filename, mode, CHECKUID_CHECK_MODE_PARAM))) {
+ if (php_check_open_basedir(filename TSRMLS_CC)) {
return NULL;
}
+#if PHP_VERSION_ID < 50399
+ if (PG(safe_mode) && !php_checkuid(filename, mode, CHECKUID_CHECK_MODE_PARAM)) {
+ return NULL;
+ }
+#endif
data = dio_create_stream_data();
data->stream_type = DIO_STREAM_TYPE_SERIAL;
@@ -374,10 +386,14 @@
}
/* Check we can actually access the file. */
- if (php_check_open_basedir(filename TSRMLS_CC) ||
- (PG(safe_mode) && !php_checkuid(filename, mode, CHECKUID_CHECK_MODE_PARAM))) {
+ if (php_check_open_basedir(filename TSRMLS_CC)) {
+ RETURN_FALSE;
+ }
+#if PHP_VERSION_ID < 50399
+ if (PG(safe_mode) && !php_checkuid(filename, mode, CHECKUID_CHECK_MODE_PARAM)) {
RETURN_FALSE;
}
+#endif
data = dio_create_stream_data();
data->stream_type = DIO_STREAM_TYPE_SERIAL;
|