summaryrefslogtreecommitdiff
path: root/main/rfc1867.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/rfc1867.c')
-rw-r--r--main/rfc1867.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/main/rfc1867.c b/main/rfc1867.c
index ff785d6008..be3f62cc53 100644
--- a/main/rfc1867.c
+++ b/main/rfc1867.c
@@ -830,7 +830,7 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler)
while (!multipart_buffer_eof(mbuff TSRMLS_CC))
{
char buff[FILLUNIT];
- char *cd=NULL,*param=NULL,*filename=NULL;
+ char *cd=NULL,*param=NULL,*filename=NULL, *tmp=NULL;
int blen=0, wlen=0;
zend_llist_clean(&header);
@@ -1031,12 +1031,21 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler)
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, '/')) {
+ s = tmp;
+ }
num_vars--;
} else {
s = strrchr(filename, '\\');
+ if (tmp = strrchr(filename, '/')) {
+ s = tmp;
+ }
}
#else
s = strrchr(filename, '\\');
+ if (tmp = strrchr(filename, '/')) {
+ s = tmp;
+ }
#endif
if (s && s > filename) {
safe_php_register_variable(lbuf, s+1, NULL, 0 TSRMLS_CC);