]> granicus.if.org Git - php/commitdiff
Fixed memory leak
authorXinchen Hui <laruence@gmail.com>
Wed, 5 Mar 2014 06:43:20 +0000 (14:43 +0800)
committerXinchen Hui <laruence@gmail.com>
Wed, 5 Mar 2014 06:43:20 +0000 (14:43 +0800)
main/rfc1867.c

index 3fc8bcf37971b587ca78c5d90c73a2ff31d60ca9..5acebd5b5b6291b3d96e337f1c0a1cbe499f8765 100644 (file)
@@ -196,6 +196,12 @@ static int unlink_filename(zval *el TSRMLS_DC) /* {{{ */
 }
 /* }}} */
 
+
+static void free_filename(zval *el) {
+       char *filename = (char*)Z_PTR_P(el);
+       efree(filename);
+}
+
 void destroy_uploaded_files_hash(TSRMLS_D) /* {{{ */
 {
        zend_hash_apply(SG(rfc1867_uploaded_files), unlink_filename TSRMLS_CC);
@@ -759,7 +765,7 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler) /* {{{ */
        zend_hash_init(&PG(rfc1867_protected_variables), 5, NULL, NULL, 0);
 
        ALLOC_HASHTABLE(uploaded_files);
-       zend_hash_init(uploaded_files, 5, NULL, free_string_zval, 0);
+       zend_hash_init(uploaded_files, 5, NULL, free_filename, 0);
        SG(rfc1867_uploaded_files) = uploaded_files;
 
        array_init(&PG(http_globals)[TRACK_VARS_FILES]);