From 23177782fd10972a1e5d7ecf54f409a8288c07ee Mon Sep 17 00:00:00 2001 From: X512 Date: Mon, 23 Mar 2020 09:45:58 +0900 Subject: [PATCH] RAWTranslator: fix integer overflow Pointed by clang. Change-Id: I6e2c62ccfa7bec381a02b08d54c7469bbb8d7a67 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2406 Reviewed-by: Adrien Destugues --- src/add-ons/translators/raw/RAW.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/add-ons/translators/raw/RAW.cpp b/src/add-ons/translators/raw/RAW.cpp index 6fd6e8b911..b68aa5f435 100644 --- a/src/add-ons/translators/raw/RAW.cpp +++ b/src/add-ons/translators/raw/RAW.cpp @@ -619,10 +619,11 @@ DCRaw::_ParseManufacturerTag(off_t baseOffset) int32 i = 0; for (; offset + 22 < tag.length; offset += 22 + i) { - tag.tag = fRead.Next(); + uint32 tag32 = fRead.Next(); + tag.tag = (uint16)tag32; fRead.Seek(14, SEEK_CUR); i = fRead.Next() - 4; - if (tag.tag == 0x76a43207) + if (tag32 == 0x76a43207) fMeta.flip = fRead.Next(); else fRead.Seek(i, SEEK_CUR);