]> granicus.if.org Git - php/commitdiff
MFB: Fixed a possible crash inside OnUpdateErrorLog() when restoring an empty value
authorIlia Alshanetsky <iliaa@php.net>
Sun, 12 Jul 2009 16:43:32 +0000 (16:43 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Sun, 12 Jul 2009 16:43:32 +0000 (16:43 +0000)
Avoid pointless safe_mode/open_basedir checks on OnUpdateMailLog() if value is empty

main/main.c

index 7617756150a8fe76be77926441b2223191f78932..7c58ae3b9df3827a5052762298d2190a5f6b010e 100644 (file)
@@ -467,13 +467,10 @@ static PHP_INI_DISP(display_errors_mode)
 static PHP_INI_MH(OnUpdateErrorLog)
 {
        /* Only do the safemode/open_basedir check at runtime */
-       if ((stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS) &&
-               strcmp(new_value, "syslog")) {
-
+       if ((stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS) && new_value && strcmp(new_value, "syslog")) {
                if (PG(open_basedir) && php_check_open_basedir(new_value TSRMLS_CC)) {
                        return FAILURE;
                }
-
        }
        OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC);
        return SUCCESS;
@@ -485,11 +482,10 @@ static PHP_INI_MH(OnUpdateErrorLog)
 static PHP_INI_MH(OnUpdateMailLog)
 {
        /* Only do the safemode/open_basedir check at runtime */
-       if (stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS) {
+       if ((stage == PHP_INI_STAGE_RUNTIME || stage == PHP_INI_STAGE_HTACCESS) && new_value) {
                if (PG(open_basedir) && php_check_open_basedir(new_value TSRMLS_CC)) {
                        return FAILURE;
                }
-
        }
        OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC);
        return SUCCESS;