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

Reply via email to