From 3094bcc3c5a30635289f534884965d39ac35a11a Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Wed, 8 Jul 2020 19:32:48 +0200 Subject: Check returns of hex2int in get_hex_rgb Avoids undefined behavior when trying to shift negative values. Fixes: oss-fuzz-21860 Fixes: oss-fuzz-23968 Pick-to: 5.15 5.12 Change-Id: I879c97624e3f8ba9cf01e0a3a682379cd8c4a199 Reviewed-by: Volker Hilsheimer --- tests/auto/gui/painting/qcolor/tst_qcolor.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'tests/auto/gui/painting') diff --git a/tests/auto/gui/painting/qcolor/tst_qcolor.cpp b/tests/auto/gui/painting/qcolor/tst_qcolor.cpp index eceb525ad0..5c558ea1b3 100644 --- a/tests/auto/gui/painting/qcolor/tst_qcolor.cpp +++ b/tests/auto/gui/painting/qcolor/tst_qcolor.cpp @@ -327,6 +327,9 @@ void tst_QColor::namehex_data() QTest::newRow("transparent red") << "#66ff0000" << QColor(255, 0, 0, 102); QTest::newRow("invalid red") << "#gg0000" << QColor(); QTest::newRow("invalid transparent") << "#gg00ff00" << QColor(); + // when configured with "-sanitize undefined", this resulted in: + // "runtime error: left shift of negative value -1" + QTest::newRow("oss-fuzz 23968") << "#ÿÿÿÿÿÿÿÿÿ" << QColor(); } void tst_QColor::namehex() -- cgit v1.2.3