From 042bb6a3061b00154b01a42afbe316d73c80ba97 Mon Sep 17 00:00:00 2001 From: Andrei Zmievski Date: Wed, 17 Aug 2005 18:15:18 +0000 Subject: [PATCH] Disallow mixing binary and Unicode types when T specifiers are used. --- Zend/zend_API.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Zend/zend_API.c b/Zend/zend_API.c index d8ce0f62c2..301b54edda 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -572,8 +572,16 @@ static char *zend_parse_arg_impl(zval **arg, va_list *va, char **spec, char T_ar convert_to_string_ex(arg); RETURN_AS_STRING(arg, p, pl, type); } else { - convert_to_binary_ex(arg); - RETURN_AS_BINARY(arg, p, pl, type); + if (Z_TYPE_PP(arg) == IS_UNICODE) { + char *space; + char *class_name = get_active_class_name(&space TSRMLS_CC); + zend_error(E_WARNING, "%v%s%v() does not allow mixing binary and Unicode parameters", + class_name, space, get_active_function_name(TSRMLS_C)); + return "native or binary string"; + } else { + convert_to_binary_ex(arg); + RETURN_AS_BINARY(arg, p, pl, type); + } } break; -- 2.40.0