]> granicus.if.org Git - php/commitdiff
Instances should not be freed in dtor()...
authorMoriyoshi Koizumi <moriyoshi@php.net>
Tue, 7 Jan 2003 22:53:42 +0000 (22:53 +0000)
committerMoriyoshi Koizumi <moriyoshi@php.net>
Tue, 7 Jan 2003 22:53:42 +0000 (22:53 +0000)
ext/standard/filters.c

index 2415ee934dbb21da5b6586bf43ceb8269e3a50bf..bb0a0b8dbfd30d54178341032340e870f7b126a1 100644 (file)
@@ -265,8 +265,7 @@ static int php_base64_filter_ctor(php_base64_filter *inst)
 
 static void php_base64_filter_dtor(php_base64_filter *inst)
 {
-       assert(inst != NULL);
-       efree(inst);
+       /* do nothing */
 }
 
 static size_t strfilter_base64_write(php_stream *stream, php_stream_filter *thisfilter,
@@ -448,6 +447,9 @@ static int strfilter_base64_eof(php_stream *stream, php_stream_filter *thisfilte
 static void strfilter_base64_dtor(php_stream_filter *thisfilter TSRMLS_DC)
 {
        php_base64_filter_dtor((php_base64_filter *)thisfilter->abstract);
+
+       assert(thisfilter->abstract != NULL);
+       efree(thisfilter->abstract);
 }
 
 static php_stream_filter_ops strfilter_base64_ops = {