iliaa Thu Jan 20 12:57:42 2005 EDT Modified files: (Branch: PHP_4_3) /php-src NEWS /php-src/main rfc1867.c /php-src/ext/standard string.c Log: MFH: Fixed bug #31398 (When magic_guotes_gpc are enabled filenames with ' get cutoff). http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1247.2.810&r2=1.1247.2.811&ty=u Index: php-src/NEWS diff -u php-src/NEWS:1.1247.2.810 php-src/NEWS:1.1247.2.811 --- php-src/NEWS:1.1247.2.810 Wed Jan 19 20:43:19 2005 +++ php-src/NEWS Thu Jan 20 12:57:40 2005 @@ -19,6 +19,8 @@ - Fixed bug #31174 (compile warning in url.c). (Ilia, lukem at NetBSD dot org) - Fixed bug #31159 (COM object access is not working). (Wez) - Fixed bug #31142 (imap_mail_compose() fails to generate correct output). (Ilia) +- Fixed bug #31398 (When magic_guotes_gpc are enabled filenames with ' get cutoff). + (Ilia) - Fixed bug #31120 (mssql_query returns false on successfull inserts and stored procedures). (Frank) - Fixed bugs #31107, #31110, #31111 (Compile failure of zend_strtod.c). (Jani) http://cvs.php.net/diff.php/php-src/main/rfc1867.c?r1=1.122.2.28&r2=1.122.2.29&ty=u Index: php-src/main/rfc1867.c diff -u php-src/main/rfc1867.c:1.122.2.28 php-src/main/rfc1867.c:1.122.2.29 --- php-src/main/rfc1867.c:1.122.2.28 Sat Nov 20 15:16:44 2004 +++ php-src/main/rfc1867.c Thu Jan 20 12:57:41 2005 @@ -16,7 +16,7 @@ | Jani Taskinen <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: rfc1867.c,v 1.122.2.28 2004/11/20 20:16:44 sesser Exp $ */ +/* $Id: rfc1867.c,v 1.122.2.29 2005/01/20 17:57:41 iliaa Exp $ */ /* * This product includes software developed by the Apache Group @@ -31,6 +31,7 @@ #include "php_globals.h" #include "php_variables.h" #include "rfc1867.h" +#include "ext/standard/php_string.h" #undef DEBUG_FILE_UPLOAD @@ -842,7 +843,7 @@ while (!multipart_buffer_eof(mbuff TSRMLS_CC)) { char buff[FILLUNIT]; - char *cd=NULL,*param=NULL,*filename=NULL, *tmp=NULL; + char *cd=NULL,*param=NULL,*filename=NULL; int blen=0, wlen=0; zend_llist_clean(&header); @@ -1064,30 +1065,13 @@ str_len = strlen(filename); php_mb_gpc_encoding_converter(&filename, &str_len, 1, NULL, NULL TSRMLS_CC); } - s = php_mb_strrchr(filename, '\\' TSRMLS_CC); - if ((tmp = php_mb_strrchr(filename, '/' TSRMLS_CC)) > s) { - s = tmp; - } num_vars--; - } else { - s = strrchr(filename, '\\'); - if ((tmp = strrchr(filename, '/')) > s) { - s = tmp; - } - } -#else - s = strrchr(filename, '\\'); - if ((tmp = strrchr(filename, '/')) > s) { - s = tmp; } #endif - if (PG(magic_quotes_gpc)) { - s = s ? s : filename; - tmp = strrchr(s, '\''); - s = tmp > s ? tmp : s; - tmp = strrchr(s, '"'); - s = tmp > s ? tmp : s; - } + /* ensure that the uploaded file name only contains the path */ + s = php_basename(filename, strlen(filename), NULL, 0); + efree(filename); + filename = s; if (s && s > filename) { safe_php_register_variable(lbuf, s+1, NULL, 0 TSRMLS_CC); http://cvs.php.net/diff.php/php-src/ext/standard/string.c?r1=1.333.2.47&r2=1.333.2.48&ty=u Index: php-src/ext/standard/string.c diff -u php-src/ext/standard/string.c:1.333.2.47 php-src/ext/standard/string.c:1.333.2.48 --- php-src/ext/standard/string.c:1.333.2.47 Tue Jan 18 10:51:24 2005 +++ php-src/ext/standard/string.c Thu Jan 20 12:57:41 2005 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: string.c,v 1.333.2.47 2005/01/18 15:51:24 iliaa Exp $ */ +/* $Id: string.c,v 1.333.2.48 2005/01/20 17:57:41 iliaa Exp $ */ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */ @@ -1085,7 +1085,7 @@ #endif ) c--; - if (c < s+len-1) { + if (c+1 >= s && c < s+len-1) { buf = *(c + 1); /* Save overwritten char */ *(c + 1) = '\0'; /* overwrite char */ p = c + 1; /* Save pointer to overwritten char */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php