]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-5.6' into PHP-7.0
authorChristoph M. Becker <cmb@php.net>
Tue, 12 Jul 2016 12:51:23 +0000 (14:51 +0200)
committerChristoph M. Becker <cmb@php.net>
Tue, 12 Jul 2016 12:52:23 +0000 (14:52 +0200)
# Resolved conflicts:
# ext/intl/idn/idn.c

1  2 
NEWS
ext/intl/idn/idn.c

diff --cc NEWS
Simple merge
index 6e699604df764a819cfa10618acbc1adce1ab75a,fb17e3445cf33c7d54b94c48fc8d9ca20cedf844..cb23edd0c5f5867b94b098e47e1e16685f7d22d7
@@@ -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;