dcraw.cc: parse_qt: possible integer overflow
This commit is contained in:
parent
c466177ccf
commit
137be1f5e4
@ -7842,6 +7842,8 @@ void CLASS parse_qt (int end)
|
|||||||
while (ftell(ifp)+7 < end) {
|
while (ftell(ifp)+7 < end) {
|
||||||
save = ftell(ifp);
|
save = ftell(ifp);
|
||||||
if ((size = get4()) < 8) return;
|
if ((size = get4()) < 8) return;
|
||||||
|
if ((int)size < 0) return; // 2+GB is too much
|
||||||
|
if (save + size < save) return; // 32bit overflow
|
||||||
fread (tag, 4, 1, ifp);
|
fread (tag, 4, 1, ifp);
|
||||||
if (!memcmp(tag,"moov",4) ||
|
if (!memcmp(tag,"moov",4) ||
|
||||||
!memcmp(tag,"udta",4) ||
|
!memcmp(tag,"udta",4) ||
|
||||||
|
Loading…
x
Reference in New Issue
Block a user