Browse Source

Missing safe_mode/open_basedir checks for file uploads.

migration/RELEASE_1_0_0
Ilia Alshanetsky 21 years ago
parent
commit
f10effd288
  1. 7
      ext/curl/interface.c

7
ext/curl/interface.c

@ -1152,10 +1152,15 @@ static int _php_curl_setopt(php_curl *ch, long option, zval **zvalue, zval *retu
* must be explicitly cast to long in curl_formadd
* use since curl needs a long not an int. */
if (*postval == '@') {
++postval;
/* safe_mode / open_basedir check */
if (php_check_open_basedir(postval TSRMLS_CC) || (PG(safe_mode) && !php_checkuid(postval, "rb+", CHECKUID_CHECK_MODE_PARAM))) {
RETURN_FALSE;
}
error = curl_formadd(&first, &last,
CURLFORM_COPYNAME, string_key,
CURLFORM_NAMELENGTH, (long)string_key_len - 1,
CURLFORM_FILE, ++postval,
CURLFORM_FILE, postval,
CURLFORM_END);
} else {
error = curl_formadd(&first, &last,

Loading…
Cancel
Save