summaryrefslogtreecommitdiff
path: root/ext/standard/basic_functions.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/basic_functions.c')
-rw-r--r--ext/standard/basic_functions.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 36b84f9d7e..582cf38cb6 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -6363,9 +6363,15 @@ PHP_FUNCTION(import_request_variables)
return;
}
- convert_to_text(prefix);
- if (Z_UNILEN_P(prefix) == 0) {
- php_error_docref(NULL TSRMLS_CC, E_NOTICE, "No prefix specified - possible security hazard");
+ if (ZEND_NUM_ARGS() > 1) {
+ convert_to_text(prefix);
+
+ if (Z_UNILEN_P(prefix) == 0) {
+ php_error_docref(NULL TSRMLS_CC, E_NOTICE, "No prefix specified - possible security hazard");
+ }
+ } else {
+ MAKE_STD_ZVAL(prefix);
+ ZVAL_EMPTY_TEXT(prefix);
}
for (p = types; p && *p; p++) {
@@ -6388,6 +6394,10 @@ PHP_FUNCTION(import_request_variables)
break;
}
}
+
+ if (ZEND_NUM_ARGS() < 2) {
+ zval_ptr_dtor(&prefix);
+ }
}
/* }}} */