From: Marcus Boerger Date: Tue, 23 May 2006 22:22:11 +0000 (+0000) Subject: - MFH Handle NULL in C argument parsing correct X-Git-Tag: php-5.2.0RC1~483 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f88a17295975291448e2e1a7ac739344fda7ec59;p=php - MFH Handle NULL in C argument parsing correct --- diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 26c2dc23df..2cd889932c 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -514,6 +514,10 @@ static char *zend_parse_arg_impl(int arg_num, zval **arg, va_list *va, char **sp zend_class_entry **lookup, **pce = va_arg(*va, zend_class_entry **); zend_class_entry *ce_base = *pce; + if (return_null && Z_TYPE_PP(arg) == IS_NULL) { + *pce = NULL; + break; + } convert_to_string_ex(arg); if (zend_lookup_class(Z_STRVAL_PP(arg), Z_STRLEN_PP(arg), &lookup TSRMLS_CC) == FAILURE) { *pce = NULL; @@ -531,7 +535,7 @@ static char *zend_parse_arg_impl(int arg_num, zval **arg, va_list *va, char **sp return ""; } } - if (!*pce && !return_null) { + if (!*pce) { char *space; char *class_name = get_active_class_name(&space TSRMLS_CC); zend_error(E_WARNING, "%s%s%s() expects parameter %d to be a valid class name, '%s' given",