- Fixed possible crash in mssql_fetch_batch(). (Kalle)
- Fixed inconsistent backlog default value (-1) in FPM on many systems. (fat)
+- Fixed bug #53021 (In html_entity_decode, failure to convert numeric entities
+ with ENT_NOQUOTES and ISO-8859-1) (Gustavo).
- Fixed bug #52981 (Unicode casing table was out-of-date. Updated with
UnicodeData-6.0.0d7.txt and included the source of the generator program with
the distribution) (Gustavo).
code = strtol(p + 2, &next, 10);
}
- if (next != NULL && *next == ';') {
+ if (code == 39 && !(quote_style & ENT_HTML_QUOTE_SINGLE) ||
+ code == 24 && !(quote_style & ENT_HTML_QUOTE_DOUBLE)) {
+ invalid_code = 1;
+ }
+
+ if (next != NULL && *next == ';' && !invalid_code) {
switch (charset) {
case cs_utf_8:
q += php_utf32_utf8(q, code);
if ((code >= 0x80 && code < 0xa0) || code > 0xff) {
invalid_code = 1;
} else {
- if (code == 39 || !quote_style) {
- invalid_code = 1;
- } else {
- *(q++) = code;
- }
+ *(q++) = code;
}
break;
--- /dev/null
+--TEST--\r
+Bug #53021 (Failure to convert numeric entities with ENT_NOQUOTES and ISO-8859-1)\r
+--FILE--\r
+<?php\r
+var_dump(unpack("H*",html_entity_decode("é", ENT_QUOTES, "ISO-8859-1")));\r
+--EXPECT--\r
+array(1) {\r
+ [1]=>\r
+ string(2) "e9"\r
+}\r