]> granicus.if.org Git - php/commitdiff
MFH: Fixed a possible crash due to invalid handling of assert ini options.
authorIlia Alshanetsky <iliaa@php.net>
Thu, 14 Aug 2003 00:38:21 +0000 (00:38 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Thu, 14 Aug 2003 00:38:21 +0000 (00:38 +0000)
ext/standard/assert.c

index da3f525d14d13340ef71b02f2a481c42f150eb8c..2e707040ec50c9fca2e0e32b771ce850bb8c6da3 100644 (file)
@@ -56,12 +56,9 @@ static PHP_INI_MH(OnChangeCallback)
                zval_ptr_dtor(&ASSERTG(callback));
        }
 
-       MAKE_STD_ZVAL(ASSERTG(callback));
-
-       if (new_value) {
+       if (new_value && (ASSERTG(callback) || new_value_length)) {
+               MAKE_STD_ZVAL(ASSERTG(callback));
                ZVAL_STRINGL(ASSERTG(callback), new_value, new_value_length, 1);
-       } else {
-               ZVAL_EMPTY_STRING(ASSERTG(callback));
        }
 
        return SUCCESS;
@@ -103,6 +100,7 @@ PHP_MSHUTDOWN_FUNCTION(assert)
 {
        if (ASSERTG(callback)) {
                zval_ptr_dtor(&ASSERTG(callback));
+               ASSERTG(callback) = NULL;
        }
        return SUCCESS;
 }