Newly introduced findings

List of Findings

Error: CPPCHECK_WARNING (CWE-190): [#def1]
openexr-3.4.12/external/OpenJPH/src/core/transform/ojph_colour.cpp:325: error[integerOverflow]: Signed integer overflow for expression '-2147483647-1'.
#  323|         float fl_low_lim = (float)neg_limit; // val >= lower
#  324|         si32 s32_up_lim = INT_MAX >> (32 - bit_depth);
#  325|->       si32 s32_low_lim = INT_MIN >> (32 - bit_depth);
#  326|   
#  327|         if (is_signed)

Error: CPPCHECK_WARNING (CWE-190): [#def2]
openexr-3.4.12/external/OpenJPH/src/core/transform/ojph_colour_avx2.cpp:293: error[integerOverflow]: Signed integer overflow for expression '-2147483647-1'.
#  291|         __m256 fl_low_lim = _mm256_set1_ps((float)neg_limit);  // val >= lower
#  292|         __m256i s32_up_lim = _mm256_set1_epi32(INT_MAX >> (32 - bit_depth));
#  293|->       __m256i s32_low_lim = _mm256_set1_epi32(INT_MIN >> (32 - bit_depth));
#  294|   
#  295|         if (is_signed)

Error: CPPCHECK_WARNING (CWE-190): [#def3]
openexr-3.4.12/external/OpenJPH/src/core/transform/ojph_colour_sse2.cpp:138: error[integerOverflow]: Signed integer overflow for expression '-2147483647-1'.
#  136|         __m128 fl_low_lim = _mm_set1_ps((float)neg_limit); // val >= lower
#  137|         __m128i s32_up_lim = _mm_set1_epi32(INT_MAX >> (32 - bit_depth));
#  138|->       __m128i s32_low_lim = _mm_set1_epi32(INT_MIN >> (32 - bit_depth));
#  139|   
#  140|         if (is_signed)

Error: COMPILER_WARNING (CWE-195): [#def4]
openexr-3.4.12/src/lib/OpenEXRCore/internal_ht.cpp: scope_hint: In function ‘exr_result_t ht_undo_impl(exr_decode_pipeline_t*, const void*, uint64_t, void*, uint64_t)’
openexr-3.4.12/src/lib/OpenEXRCore/internal_ht.cpp:190:28: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘int64_t’ {aka ‘long int’} and ‘long unsigned int’
#  190 |         if (computedoffset > std::numeric_limits<std::size_t>::max())
#      |             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  188|               computedoffset += (int64_t) decode->channels[i].width *
#  189|                                 (int64_t) decode->channels[i].bytes_per_element;
#  190|->         if (computedoffset > std::numeric_limits<std::size_t>::max())
#  191|               return EXR_ERR_CORRUPT_CHUNK;
#  192|           cs_to_file_ch[cs_i].raster_line_offset = computedoffset;

Error: COMPILER_WARNING (CWE-195): [#def5]
openexr-3.4.12/src/lib/OpenEXRCore/internal_ht.cpp:210:29: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘ojph::ui32’ {aka ‘unsigned int’}
#  210 |     if (decode->chunk.width != image_width
#      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
#  208|           siz.get_image_extent ().x - siz.get_image_offset ().x;
#  209|   
#  210|->     if (decode->chunk.width != image_width
#  211|           || decode->chunk.height != image_height
#  212|           || decode->channel_count != siz.get_num_components())

Error: COMPILER_WARNING (CWE-195): [#def6]
openexr-3.4.12/src/lib/OpenEXRCore/internal_ht.cpp:211:33: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘ojph::ui32’ {aka ‘unsigned int’}
#  211 |         || decode->chunk.height != image_height
#      |            ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
#  209|   
#  210|       if (decode->chunk.width != image_width
#  211|->         || decode->chunk.height != image_height
#  212|           || decode->channel_count != siz.get_num_components())
#  213|           return EXR_ERR_CORRUPT_CHUNK;

Error: COMPILER_WARNING (CWE-195): [#def7]
openexr-3.4.12/src/lib/OpenEXRCore/internal_ht.cpp:212:34: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘int16_t’ {aka ‘short int’} and ‘ojph::ui32’ {aka ‘unsigned int’}
#  212 |         || decode->channel_count != siz.get_num_components())
#      |            ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
#  210|       if (decode->chunk.width != image_width
#  211|           || decode->chunk.height != image_height
#  212|->         || decode->channel_count != siz.get_num_components())
#  213|           return EXR_ERR_CORRUPT_CHUNK;
#  214|   

Error: COMPILER_WARNING (CWE-195): [#def8]
openexr-3.4.12/src/lib/OpenEXRCore/internal_ht.cpp:219:45: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘ojph::ui32’ {aka ‘unsigned int’}
#  219 |         if (decode->channels[file_i].height != siz.get_recon_height (cs_i) ||
#      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  217|           int file_i = cs_to_file_ch[cs_i].file_index;
#  218|   
#  219|->         if (decode->channels[file_i].height != siz.get_recon_height (cs_i) ||
#  220|               decode->channels[file_i].width != siz.get_recon_width (cs_i) ||
#  221|               decode->channels[file_i].height != image_height / siz.get_downsampling (cs_i).y ||

Error: COMPILER_WARNING (CWE-195): [#def9]
openexr-3.4.12/src/lib/OpenEXRCore/internal_ht.cpp:220:44: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘ojph::ui32’ {aka ‘unsigned int’}
#  220 |             decode->channels[file_i].width != siz.get_recon_width (cs_i) ||
#      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  218|   
#  219|           if (decode->channels[file_i].height != siz.get_recon_height (cs_i) ||
#  220|->             decode->channels[file_i].width != siz.get_recon_width (cs_i) ||
#  221|               decode->channels[file_i].height != image_height / siz.get_downsampling (cs_i).y ||
#  222|               decode->channels[file_i].width != image_width / siz.get_downsampling (cs_i).x)

Error: COMPILER_WARNING (CWE-195): [#def10]
openexr-3.4.12/src/lib/OpenEXRCore/internal_ht.cpp:221:45: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘ojph::ui32’ {aka ‘unsigned int’}
#  221 |             decode->channels[file_i].height != image_height / siz.get_downsampling (cs_i).y ||
#      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  219|           if (decode->channels[file_i].height != siz.get_recon_height (cs_i) ||
#  220|               decode->channels[file_i].width != siz.get_recon_width (cs_i) ||
#  221|->             decode->channels[file_i].height != image_height / siz.get_downsampling (cs_i).y ||
#  222|               decode->channels[file_i].width != image_width / siz.get_downsampling (cs_i).x)
#  223|               return EXR_ERR_CORRUPT_CHUNK;

Error: COMPILER_WARNING (CWE-195): [#def11]
openexr-3.4.12/src/lib/OpenEXRCore/internal_ht.cpp:222:44: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘ojph::ui32’ {aka ‘unsigned int’}
#  222 |             decode->channels[file_i].width != image_width / siz.get_downsampling (cs_i).x)
#      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  220|               decode->channels[file_i].width != siz.get_recon_width (cs_i) ||
#  221|               decode->channels[file_i].height != image_height / siz.get_downsampling (cs_i).y ||
#  222|->             decode->channels[file_i].width != image_width / siz.get_downsampling (cs_i).x)
#  223|               return EXR_ERR_CORRUPT_CHUNK;
#  224|       }

Error: COMPILER_WARNING (CWE-195): [#def12]
openexr-3.4.12/src/lib/OpenEXRCore/internal_ht.cpp:265:32: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘int16_t’ {aka ‘short int’} and ‘ojph::ui32’ {aka ‘unsigned int’}
#  265 |                     if (line_c == static_cast<ojph::ui32>(file_c))
#      |                         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#  263|                       if (y % decode->channels[line_c].y_samples != 0) continue;
#  264|   
#  265|->                     if (line_c == static_cast<ojph::ui32>(file_c))
#  266|                       {
#  267|                           cur_line = cs.pull (next_comp);

Error: COMPILER_WARNING: [#def13]
openexr-3.4.12/src/test/OpenEXRCoreTest/read.cpp: scope_hint: In function ‘int hardway_height_p(int, int, int)’
openexr-3.4.12/src/test/OpenEXRCoreTest/read.cpp:681:9: warning[-Wunused-but-set-variable=]: variable ‘off’ set but not used
#  681 |     int off = 0;
#      |         ^~~
#  679|       int nlines = 0;
#  680|       int end = start_y + height;
#  681|->     int off = 0;
#  682|   
#  683|       if (y_sampling <= 1) return height;

Scan Properties

analyzer-version-clippy1.95.0
analyzer-version-cppcheck2.20.0
analyzer-version-gcc16.1.1
analyzer-version-gcc-analyzer16.1.1
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
diffbase-analyzer-version-clippy1.95.0
diffbase-analyzer-version-cppcheck2.20.0
diffbase-analyzer-version-gcc16.1.1
diffbase-analyzer-version-gcc-analyzer16.1.1
diffbase-analyzer-version-shellcheck0.11.0
diffbase-analyzer-version-unicontrol0.0.2
diffbase-enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
diffbase-exit-code0
diffbase-hostip-172-16-1-179.us-west-2.compute.internal
diffbase-known-false-positives/usr/share/csmock/known-false-positives.js
diffbase-known-false-positives-rpmknown-false-positives-0.0.0.20260524.213755.g3c6d0be.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-x86_64
diffbase-project-nameopenexr-3.2.4-7.fc44
diffbase-store-results-to/tmp/tmp0fv2_m3k/openexr-3.2.4-7.fc44.tar.xz
diffbase-time-created2026-06-01 15:16:44
diffbase-time-finished2026-06-01 15:20:48
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'shellcheck,cppcheck,clippy,unicontrol,gcc' '-o' '/tmp/tmp0fv2_m3k/openexr-3.2.4-7.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp0fv2_m3k/openexr-3.2.4-7.fc44.src.rpm'
diffbase-tool-versioncsmock-3.8.5.20260529.133039.g6f3b5c6-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-179.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20260524.213755.g3c6d0be.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-nameopenexr-3.4.12-2.fc45
store-results-to/tmp/tmpq0z9peul/openexr-3.4.12-2.fc45.tar.xz
time-created2026-06-01 15:21:12
time-finished2026-06-01 15:24:58
titleNewly introduced findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'shellcheck,cppcheck,clippy,unicontrol,gcc' '-o' '/tmp/tmpq0z9peul/openexr-3.4.12-2.fc45.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpq0z9peul/openexr-3.4.12-2.fc45.src.rpm'
tool-versioncsmock-3.8.5.20260529.133039.g6f3b5c6-1.el9