- fix memleak when http_get() etc intermit unexpectedly
[m6w6/ext-http] / http_functions.c
index d9cefaf87b9cf2e61550d625bfb007d12c414079..9bde4fb2792ceca13dd96a6eb9fe922ae38d0e1a 100644 (file)
@@ -1028,6 +1028,7 @@ PHP_FUNCTION(http_get)
        if (SUCCESS == http_get(URL, options ? Z_ARRVAL_P(options) : NULL, info ? Z_ARRVAL_P(info) : NULL, &response)) {
                RETURN_PHPSTR_VAL(&response);
        } else {
+               phpstr_dtor(&response);
                RETURN_FALSE;
        }
 }
@@ -1061,6 +1062,7 @@ PHP_FUNCTION(http_head)
        if (SUCCESS == http_head(URL, options ? Z_ARRVAL_P(options) : NULL, info ? Z_ARRVAL_P(info) : NULL, &response)) {
                RETURN_PHPSTR_VAL(&response);
        } else {
+               phpstr_dtor(&response);
                RETURN_FALSE;
        }
 }
@@ -1100,6 +1102,7 @@ PHP_FUNCTION(http_post_data)
        if (SUCCESS == http_post(URL, &body, options ? Z_ARRVAL_P(options) : NULL, info ? Z_ARRVAL_P(info) : NULL, &response)) {
                RETVAL_PHPSTR_VAL(&response);
        } else {
+               phpstr_dtor(&response);
                RETVAL_FALSE;
        }
 }
@@ -1139,6 +1142,7 @@ PHP_FUNCTION(http_post_fields)
        if (SUCCESS == http_post(URL, &body, options ? Z_ARRVAL_P(options) : NULL, info ? Z_ARRVAL_P(info) : NULL, &response)) {
                RETVAL_PHPSTR_VAL(&response);
        } else {
+               phpstr_dtor(&response);
                RETVAL_FALSE;
        }
        http_request_body_dtor(&body);
@@ -1189,6 +1193,7 @@ PHP_FUNCTION(http_put_file)
        if (SUCCESS == http_put(URL, &body, options ? Z_ARRVAL_P(options) : NULL, info ? Z_ARRVAL_P(info) : NULL, &response)) {
                RETVAL_PHPSTR_VAL(&response);
        } else {
+               phpstr_dtor(&response);
                RETVAL_FALSE;
        }
        http_request_body_dtor(&body);
@@ -1237,6 +1242,7 @@ PHP_FUNCTION(http_put_stream)
        if (SUCCESS == http_put(URL, &body, options ? Z_ARRVAL_P(options) : NULL, info ? Z_ARRVAL_P(info) : NULL, &response)) {
                RETURN_PHPSTR_VAL(&response);
        } else {
+               phpstr_dtor(&response);
                RETURN_NULL();
        }
 }
@@ -1604,11 +1610,11 @@ PHP_FUNCTION(http_uncompress)
  *    and HTTP requests can be issued
  *  - HTTP_SUPPORT_SSLREQUESTS: whether libcurl was linked against openssl,
  *    and SSL requests can be issued 
- *  - HTTP_SUPPORT_ENCOGINS: whether ext/http was linked against zlib,
+ *  - HTTP_SUPPORT_ENCODINGS: whether ext/http was linked against zlib,
  *    and compressed HTTP responses can be decoded
- *  - HTTP_SUPPORTS_MHASHETAGS: whether ext/http was linked against libhmash,
+ *  - HTTP_SUPPORT_MHASHETAGS: whether ext/http was linked against libmhash,
  *    and ETags can be generated with the available mhash algorithms
- *  - HTTP_SUPPORTS_MAGICMIME: whether ext/http was linked against libmagic,
+ *  - HTTP_SUPPORT_MAGICMIME: whether ext/http was linked against libmagic,
  *    and the HttpResponse::guessContentType() method is usable
  * 
  * Returns int, whether requested feature is supported, or a bitmask with