]> granicus.if.org Git - php/commitdiff
MFB: Fixed bug #46110 (XMLWriter - openmemory() and openuri() leak memory on
authorIlia Alshanetsky <iliaa@php.net>
Wed, 17 Sep 2008 23:28:07 +0000 (23:28 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Wed, 17 Sep 2008 23:28:07 +0000 (23:28 +0000)
  multiple calls).

ext/xmlwriter/php_xmlwriter.c

index 19f613e71d2245f90162b0837b3908e725513c8d..5902afa34470122b86875fe3bee25b6a5f50f798 100644 (file)
@@ -1886,6 +1886,9 @@ static PHP_FUNCTION(xmlwriter_open_uri)
        intern->uri_output = out_buffer;
 #else
        if (this) {
+               if (ze_obj->xmlwriter_ptr) {
+                       xmlwriter_free_resource_ptr(ze_obj->xmlwriter_ptr TSRMLS_CC);
+               }
                ze_obj->xmlwriter_ptr = intern;
                RETURN_TRUE;
        } else
@@ -1936,6 +1939,9 @@ static PHP_FUNCTION(xmlwriter_open_memory)
        intern->uri_output = NULL;
 #else
        if (this) {
+               if (ze_obj->xmlwriter_ptr) {
+                       xmlwriter_free_resource_ptr(ze_obj->xmlwriter_ptr TSRMLS_CC);
+               }
                ze_obj->xmlwriter_ptr = intern;
                RETURN_TRUE;
        } else