From: Marcus Boerger Date: Sun, 20 Jul 2003 20:45:59 +0000 (+0000) Subject: Bugfix #24729 = new ; causes crash when is not set X-Git-Tag: BEFORE_ARG_INFO~166 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8ac334289ae489ae3a065e4679187229fe1577cb;p=php Bugfix #24729 = new ; causes crash when is not set --- diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index b5246f61d4..cf4da2a0a1 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -2380,21 +2380,21 @@ int zend_fetch_class_handler(ZEND_OPCODE_HANDLER_ARGS) if (class_name->type == IS_OBJECT) { ce = Z_OBJCE_P(class_name); - } else { + } else if (class_name->value.str.val && class_name->value.str.len) { class_name_strval = zend_str_tolower_dup(class_name->value.str.val, class_name->value.str.len); class_name_strlen = class_name->value.str.len; free_class_name = 1; + } else { + class_name_strval = ""; + class_name_strlen = 0; } } if (!ce) { - int retval; - - if (EX(opline)->op1.op_type == IS_UNUSED) { - retval = zend_lookup_class(class_name_strval, class_name_strlen, &pce TSRMLS_CC); - } - if (retval==SUCCESS) { - ce = *pce; + if (EX(opline)->op1.op_type == IS_UNUSED && class_name->value.str.val && class_name->value.str.len) { + if (zend_lookup_class(class_name_strval, class_name_strlen, &pce TSRMLS_CC) == SUCCESS) { + ce = *pce; + } } }