]> granicus.if.org Git - php/commitdiff
Fixed segfault if empty POST
authorXinchen Hui <laruence@php.net>
Thu, 3 Jul 2014 15:58:21 +0000 (23:58 +0800)
committerXinchen Hui <laruence@php.net>
Thu, 3 Jul 2014 15:58:21 +0000 (23:58 +0800)
main/php_variables.c

index 30a84822af312104d96181ad4e651707bebdd85a..fbd91dc2868d20acfa89e8eb78ab73cca5a63264 100644 (file)
@@ -328,9 +328,7 @@ SAPI_API SAPI_POST_HANDLER_FUNC(php_std_post_handler)
                                smart_str_appendl(&post_data.str, buf, len);
 
                                if (SUCCESS != add_post_vars(arr, &post_data, 0 TSRMLS_CC)) {
-                                       if (post_data.str.s) {
-                                               smart_str_free(&post_data.str);
-                                       }
+                                       smart_str_free(&post_data.str);
                                        return;
                                }
                        }
@@ -340,8 +338,8 @@ SAPI_API SAPI_POST_HANDLER_FUNC(php_std_post_handler)
                        }
                }
 
-               add_post_vars(arr, &post_data, 1 TSRMLS_CC);
                if (post_data.str.s) {
+                       add_post_vars(arr, &post_data, 1 TSRMLS_CC);
                        smart_str_free(&post_data.str);
                }
        }