aboutsummaryrefslogtreecommitdiffstats
path: root/libtests
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2019-06-21 23:36:59 +0200
committerJay Berkenbilt <ejb@ql.org>2019-06-21 23:40:24 +0200
commita35d4ce9ccb3eb5903df3d221fdfd9a0d1fb5c37 (patch)
treee6557a1cb3b776f72f8b6d969786549763a86df4 /libtests
parent2320714339b572a4d5bceadfcfc94356aa782ada (diff)
downloadqpdf-a35d4ce9ccb3eb5903df3d221fdfd9a0d1fb5c37.tar.zst
Fix bounds error in utf16_to_utf8 conversion
Diffstat (limited to 'libtests')
-rw-r--r--libtests/qtest/qutil/qutil.out2
-rw-r--r--libtests/qutil.cc4
2 files changed, 6 insertions, 0 deletions
diff --git a/libtests/qtest/qutil/qutil.out b/libtests/qtest/qutil/qutil.out
index 2f270226..eb8eaf45 100644
--- a/libtests/qtest/qutil/qutil.out
+++ b/libtests/qtest/qutil/qutil.out
@@ -53,6 +53,8 @@ HAGOOGAMAGOOGLE: 0
0xdead -> ff fd
0x7fffffff -> ff fd
0x80000000 -> ff fd
---- utf8_to_ascii
¿Does π have fingers?
?Does ? have fingers?
diff --git a/libtests/qutil.cc b/libtests/qutil.cc
index 900f0e6f..a5c44fc5 100644
--- a/libtests/qutil.cc
+++ b/libtests/qutil.cc
@@ -238,6 +238,10 @@ void to_utf16_test()
print_utf16(0xdeadUL);
print_utf16(0x7fffffffUL);
print_utf16(0x80000000UL);
+
+ std::string s(QUtil::utf8_to_utf16("\xcf\x80"));
+ std::cout << QUtil::utf16_to_utf8(s) << std::endl;
+ std::cout << QUtil::utf16_to_utf8(s + ".") << std::endl;
}
void utf8_to_ascii_test()