diff options
-rw-r--r-- | ext/iconv/tests/bug53304.phpt | 13 | ||||
-rw-r--r-- | ext/standard/quot_print.c | 2 |
2 files changed, 14 insertions, 1 deletions
diff --git a/ext/iconv/tests/bug53304.phpt b/ext/iconv/tests/bug53304.phpt new file mode 100644 index 0000000000..7eb6c4109c --- /dev/null +++ b/ext/iconv/tests/bug53304.phpt @@ -0,0 +1,13 @@ +--TEST-- +Bug #53304 (quot_print_decode does not handle lower-case hex digits) +--SKIPIF-- +<?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?> +--FILE-- +<?php +echo iconv_mime_decode('=?utf-8?Q?Nachricht_=c3=bcber_Kontaktformular_www.inexio.net?=', 0, 'UTF-8') . "\n"; +echo iconv_mime_decode('=?utf-8?Q?Nachricht_=C3=BCber_Kontaktformular_www.inexio.net?=', 0, 'UTF-8') . "\n"; + +?> +--EXPECT-- +Nachricht über Kontaktformular www.inexio.net +Nachricht über Kontaktformular www.inexio.net diff --git a/ext/standard/quot_print.c b/ext/standard/quot_print.c index 0bee54fdbb..030e9178ae 100644 --- a/ext/standard/quot_print.c +++ b/ext/standard/quot_print.c @@ -68,7 +68,7 @@ PHPAPI unsigned char *php_quot_print_decode(const unsigned char *str, size_t len 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 64, 64, 64, 64, 64, 64, 64, 10, 11, 12, 13, 14, 15, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 10, 11, 12, 13, 14, 15, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, |