From: Andrei Zmievski Date: Wed, 17 Aug 2005 18:15:18 +0000 (+0000) Subject: Disallow mixing binary and Unicode types when T specifiers are used. X-Git-Tag: PRE_NEW_OCI8_EXTENSION~184 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=042bb6a3061b00154b01a42afbe316d73c80ba97;p=php Disallow mixing binary and Unicode types when T specifiers are used. --- 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;