]> granicus.if.org Git - php/commitdiff
If one name is disallowed don't drop all files
authorStefan Esser <sesser@php.net>
Fri, 29 Sep 2006 10:05:34 +0000 (10:05 +0000)
committerStefan Esser <sesser@php.net>
Fri, 29 Sep 2006 10:05:34 +0000 (10:05 +0000)
main/rfc1867.c

index 778b7455fbb22c9c91350dffa286d87f3b9670d7..d0e1201611459aeed6be94ff390aa1b1ff3acb05 100644 (file)
@@ -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;
                                }
                        }