summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Esser <sesser@php.net>2006-09-29 10:05:34 +0000
committerStefan Esser <sesser@php.net>2006-09-29 10:05:34 +0000
commitabfc08dc82d4439c73d0ee48107767acb172ea04 (patch)
tree46677ad0565cf7d1a46731fcee5852b9a93abd1e
parent67d2992fdc2cda5e60f5857deda3d75c839b4e37 (diff)
downloadphp-git-abfc08dc82d4439c73d0ee48107767acb172ea04.tar.gz
If one name is disallowed don't drop all files
-rw-r--r--main/rfc1867.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/main/rfc1867.c b/main/rfc1867.c
index 778b7455fb..d0e1201611 100644
--- a/main/rfc1867.c
+++ b/main/rfc1867.c
@@ -1025,14 +1025,13 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler)
}
}
- if (php_rfc1867_callback != NULL) {
+ if (!skip_upload && php_rfc1867_callback != NULL) {
multipart_event_file_start event_file_start;
event_file_start.post_bytes_processed = SG(read_post_bytes);
event_file_start.name = param;
event_file_start.filename = &filename;
if (php_rfc1867_callback(MULTIPART_EVENT_FILE_START, &event_file_start, &event_extra_data TSRMLS_CC) == FAILURE) {
- skip_upload = 1;
if (temp_filename) {
if (cancel_upload != UPLOAD_ERROR_E) { /* file creation failed */
close(fd);
@@ -1041,6 +1040,9 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler)
efree(temp_filename);
}
temp_filename="";
+ efree(param);
+ efree(filename);
+ continue;
}
}