]> granicus.if.org Git - php/commitdiff
- Addressing minor leak noticed while addressing bug #48590
authorPierre Joye <pajoye@php.net>
Wed, 3 Feb 2010 18:38:11 +0000 (18:38 +0000)
committerPierre Joye <pajoye@php.net>
Wed, 3 Feb 2010 18:38:11 +0000 (18:38 +0000)
ext/soap/php_http.c

index f14d2309a7964e7b4186ad16e5272d4501e09d96..23432f511da77b391207a42ccba701e86835871b 100644 (file)
@@ -759,18 +759,17 @@ try_again:
                smart_str_0(&soap_headers);
 
                err = php_stream_write(stream, soap_headers.c, soap_headers.len);
+               smart_str_free(&soap_headers);
                if (err != soap_headers.len) {
                        if (request != buf) {efree(request);}
-                       smart_str_free(&soap_headers);
                        php_stream_close(stream);
                        zend_hash_del(Z_OBJPROP_P(this_ptr), "httpurl", sizeof("httpurl"));
                        zend_hash_del(Z_OBJPROP_P(this_ptr), "httpsocket", sizeof("httpsocket"));
                        zend_hash_del(Z_OBJPROP_P(this_ptr), "_use_proxy", sizeof("_use_proxy"));
                        add_soap_fault(this_ptr, "HTTP", "Failed Sending HTTP SOAP request", NULL, NULL TSRMLS_CC);
+                       smart_str_free(&soap_headers_z);
                        return FALSE;
                }
-               smart_str_free(&soap_headers);
-
        } else {
                add_soap_fault(this_ptr, "HTTP", "Failed to create stream??", NULL, NULL TSRMLS_CC);
                smart_str_free(&soap_headers_z);
@@ -1022,8 +1021,8 @@ try_again:
                                phpurl = new_url;
 
                                if (--redirect_max < 1) {
-                                       smart_str_free(&soap_headers_z);
                                        add_soap_fault(this_ptr, "HTTP", "Redirection limit reached, aborting", NULL, NULL TSRMLS_CC);
+                                       smart_str_free(&soap_headers_z);
                                        return FALSE;
                                }