diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2016-03-12 11:34:48 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2016-07-29 16:22:31 +0000 |
commit | 8141d64527c5e7a1723e2caeeebb0cde4e591207 (patch) | |
tree | 90a60295c45beb6a2083339c1ea94860b3c6a8de /tests/auto/corelib/io/qurl | |
parent | f24cc53cc27d8ed4be4c1d0d2df059dd6a6909a9 (diff) |
qgrayraster: fix UBs involving << with a negative LHS
Left-shifts of negative values are undefined in C++. In particular,
they don't behave arithmetically.
Reported by UBSan:
qgrayraster.c:510:19: runtime error: left shift of negative value -1/-42
qgrayraster.c:537:26: runtime error: left shift of negative value -1/-4/-128
qgrayraster.c:538:26: runtime error: left shift of negative value -1/-4/-128
qgrayraster.c:641:28: runtime error: left shift of negative value -1/-42
qgrayraster.c:676:44: runtime error: left shift of negative value -1/-4/-5/-14/-129
qgrayraster.c:807:19: runtime error: left shift of negative value -1/-42
qgrayraster.c:1101:9: runtime error: left shift of negative value -32/-46/-224/-8160
qgrayraster.c:1102:9: runtime error: left shift of negative value -32/-2626
qgrayraster.c:1454:36: runtime error: left shift of negative value -32/-96/-224/-466/-2626/-8160
qgrayraster.c:1535:30: runtime error: left shift of negative value -32/-46/-224/-2626/-8160
Fix by using ordinary multiplication instead, because negative
left-hand-side values don't look like they are an error.
Change-Id: I2e96de51adb4a030de8a49869ddd98a31dab31b3
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'tests/auto/corelib/io/qurl')
0 files changed, 0 insertions, 0 deletions