iliaa Wed Oct 5 10:32:25 2005 EDT Modified files: /php-src/ext/curl interface.c Log: Missing safe_mode/open_basedir checks for file uploads. http://cvs.php.net/diff.php/php-src/ext/curl/interface.c?r1=1.63&r2=1.64&ty=u Index: php-src/ext/curl/interface.c diff -u php-src/ext/curl/interface.c:1.63 php-src/ext/curl/interface.c:1.64 --- php-src/ext/curl/interface.c:1.63 Tue Aug 9 10:14:55 2005 +++ php-src/ext/curl/interface.c Wed Oct 5 10:32:19 2005 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: interface.c,v 1.63 2005/08/09 14:14:55 iliaa Exp $ */ +/* $Id: interface.c,v 1.64 2005/10/05 14:32:19 iliaa Exp $ */ #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS @@ -1152,10 +1152,15 @@ * 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,
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php