Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.12.0 Beta 2
-
None
Description
A malformed picture causes qChecksum() to SIGSEGV. The cause of the
segmentation fault is a buffer over-read. This happens when the picture is
first loaded and then the format of the picture is checked using
QPicturePrivate::checkFormat() function. This function uses qChecksum()
function to calculate the checksum of the picture and compare if the returned
CRC-16 checksum is valid. However the malformed picture causes a crash in a
qChecksum() function before the actual checksum validation is made.
The attachment contain everything needed to reproduce.