From: DRC Date: Thu, 22 Sep 2016 19:38:51 +0000 (-0500) Subject: Fix UBSan warning in arithmetic decoder X-Git-Tag: 1.5.2~50 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ac4a899511dd3c673e3542848fe4719e39dc84f0;p=libjpeg-turbo Fix UBSan warning in arithmetic decoder Very similar to the ones that were fixed in the Huffman decoders in 8e9cef2e6f5156c4b055a04a8f979b7291fc6b7a. These are innocuous. Refer to https://bugzilla.mozilla.org/show_bug.cgi?id=1304567. --- diff --git a/jdarith.c b/jdarith.c index df3540e..ce0f920 100644 --- a/jdarith.c +++ b/jdarith.c @@ -21,6 +21,9 @@ #include "jpeglib.h" +#define NEG_1 ((unsigned int)-1) + + /* Expanded entropy decoder object for arithmetic decoding. */ typedef struct { @@ -450,7 +453,7 @@ decode_mcu_AC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) tbl = cinfo->cur_comp_info[0]->ac_tbl_no; p1 = 1 << cinfo->Al; /* 1 in the bit position being coded */ - m1 = (-1) << cinfo->Al; /* -1 in the bit position being coded */ + m1 = (NEG_1) << cinfo->Al; /* -1 in the bit position being coded */ /* Establish EOBx (previous stage end-of-block) index */ for (kex = cinfo->Se; kex > 0; kex--)