Prune uploaded file names to \ on all OSes, read comments for explanation.

This commit is contained in:
Ilia Alshanetsky 2005-02-15 00:25:38 +00:00
parent b6b3659224
commit 7ee1fdb657

View File

@ -1077,11 +1077,7 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler)
str_len = strlen(filename);
php_mb_gpc_encoding_converter(&filename, &str_len, 1, NULL, NULL TSRMLS_CC);
}
#ifdef PHP_WIN32
s = php_mb_strrchr(filename, '\\' TSRMLS_CC);
#else
s = filename;
#endif
if ((tmp = php_mb_strrchr(filename, '/' TSRMLS_CC)) > s) {
s = tmp;
}
@ -1089,12 +1085,13 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler)
goto filedone;
}
#endif
#ifdef PHP_WIN32
/* The \ check should technically be needed for win32 systems only where
* it is a valid path separator. However, IE in all it's wisdom always sends
* the full path of the file on the user's filesystem, which means that unless
* the user does basename() they get a bogus file name. Until IE's user base drops
* to nill or problem is fixed this code must remain enabled for all systems.
*/
s = strrchr(filename, '\\');
#else
s = filename;
#endif
if ((tmp = strrchr(filename, '/')) > s) {
s = tmp;
}