From: Christoph M. Becker Date: Tue, 12 Jul 2016 12:51:23 +0000 (+0200) Subject: Merge branch 'PHP-5.6' into PHP-7.0 X-Git-Tag: php-7.1.0beta1~94^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5fbcc2b90f6245cf1c20d41d2cd07fde711ccadd;p=php Merge branch 'PHP-5.6' into PHP-7.0 # Resolved conflicts: # ext/intl/idn/idn.c --- 5fbcc2b90f6245cf1c20d41d2cd07fde711ccadd diff --cc ext/intl/idn/idn.c index 6e699604df,fb17e3445c..cb23edd0c5 --- a/ext/intl/idn/idn.c +++ b/ext/intl/idn/idn.c @@@ -152,27 -152,23 +152,24 @@@ static void php_intl_idn_to_46(INTERNAL } if (mode == INTL_IDN_TO_ASCII) { - len = uidna_nameToASCII_UTF8(uts46, domain, (int32_t)domain_len, - buffer, buffer_capac, &info, &status); + len = uidna_nameToASCII_UTF8(uts46, domain, domain_len, + ZSTR_VAL(buffer), buffer_capac, &info, &status); } else { - len = uidna_nameToUnicodeUTF8(uts46, domain, (int32_t)domain_len, - buffer, buffer_capac, &info, &status); + len = uidna_nameToUnicodeUTF8(uts46, domain, domain_len, + ZSTR_VAL(buffer), buffer_capac, &info, &status); } - if (php_intl_idn_check_status(status, "failed to convert name", + if (len >= 255 || php_intl_idn_check_status(status, "failed to convert name", - mode TSRMLS_CC) == FAILURE) { + mode) == FAILURE) { uidna_close(uts46); - efree(buffer); + zend_string_free(buffer); RETURN_FALSE; } - if (len >= 255) { - php_error_docref(NULL, E_ERROR, "ICU returned an unexpected length"); - } - buffer[len] = '\0'; + ZSTR_VAL(buffer)[len] = '\0'; + ZSTR_LEN(buffer) = len; if (info.errors == 0) { - RETVAL_STRINGL(buffer, len, 0); + RETVAL_STR(buffer); buffer_used = 1; } else { RETVAL_FALSE;