From 6daf3f6a239fb6bf03d24ef57ef1d2bc6535bc9e Mon Sep 17 00:00:00 2001 From: Lawrence Lee <45837045+Lawrence37@users.noreply.github.com> Date: Sat, 2 Mar 2024 20:55:07 -0800 Subject: [PATCH] Fix possible infinite loop in dcraw Use same type for variable comparison in loop condition. Fixes CodeQL alert 96. --- rtengine/libraw/src/decoders/decoders_dcraw.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rtengine/libraw/src/decoders/decoders_dcraw.cpp b/rtengine/libraw/src/decoders/decoders_dcraw.cpp index 090a6b726..6aff40e39 100644 --- a/rtengine/libraw/src/decoders/decoders_dcraw.cpp +++ b/rtengine/libraw/src/decoders/decoders_dcraw.cpp @@ -345,7 +345,10 @@ int LibRaw::ljpeg_start(struct jhead *jh, int info_only) if (jh->sraw) { FORC(4) jh->huff[2 + c] = jh->huff[1]; - FORC(jh->sraw) jh->huff[1 + c] = jh->huff[0]; + { + int c; + FORC(jh->sraw) jh->huff[1 + c] = jh->huff[0]; + } } jh->row = (ushort *)calloc(jh->wide * jh->clrs, 16); return zero_after_ff = 1;