From f88a17295975291448e2e1a7ac739344fda7ec59 Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Tue, 23 May 2006 22:22:11 +0000 Subject: [PATCH] - MFH Handle NULL in C argument parsing correct --- Zend/zend_API.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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", -- 2.50.1