Newly introduced findings

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-688): [#def1]
libdvdread-7.1.1/src/dvd_input.c:520:7: warning[-Wanalyzer-null-argument]: use of NULL ‘dvdcss_library’ where non-null expected
libdvdread-7.1.1/src/dvd_input.c:485:5: branch_true: following ‘true’ branch (when ‘dvdcss_library’ is non-NULL)...
libdvdread-7.1.1/src/dvd_input.c:489:7: branch_true: ...to here
libdvdread-7.1.1/src/dvd_input.c:498:8: branch_true: following ‘true’ branch...
libdvdread-7.1.1/src/dvd_input.c:505:5: branch_true: ...to here
libdvdread-7.1.1/src/dvd_input.c:511:7: branch_false: following ‘false’ branch...
libdvdread-7.1.1/src/dvd_input.c:516:15: branch_false: ...to here
libdvdread-7.1.1/src/dvd_input.c:520:7: danger: argument 1 (‘dvdcss_library’) NULL where non-null expected
#  518|                    "Missing symbols in %s, "
#  519|                   "this shouldn't happen !", CSS_LIB);
#  520|->       dlclose(dvdcss_library);
#  521|         dvdcss_library = NULL;
#  522|   #ifdef HAVE_DVDCSS_DVDCPXM_H

Error: GCC_ANALYZER_WARNING (CWE-457): [#def2]
libdvdread-7.1.1/src/dvd_reader.c:1692:5: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*dvd_file.cache + (sizetype)((long int)offset * 2048)’
libdvdread-7.1.1/src/dvd_reader.c:1904:5: enter_function: entry to ‘DVDDiscID’
libdvdread-7.1.1/src/dvd_reader.c:1913:5: branch_false: following ‘false’ branch...
libdvdread-7.1.1/src/dvd_reader.c:1916:13: branch_false: ...to here
libdvdread-7.1.1/src/dvd_reader.c:1917:5: branch_false: following ‘false’ branch...
libdvdread-7.1.1/src/dvd_reader.c:1922:16: branch_false: ...to here
libdvdread-7.1.1/src/dvd_reader.c:1931:19: branch_true: following ‘true’ branch...
libdvdread-7.1.1/src/dvd_reader.c:1932:28: branch_true: ...to here
libdvdread-7.1.1/src/dvd_reader.c:1932:28: call_function: calling ‘DVDOpenFile’ from ‘DVDDiscID’
libdvdread-7.1.1/src/dvd_reader.c:1932:28: return_function: returning to ‘DVDDiscID’ from ‘DVDOpenFile’
libdvdread-7.1.1/src/dvd_reader.c:1933:7: branch_true: following ‘true’ branch...
libdvdread-7.1.1/src/dvd_reader.c:1935:27: branch_true: ...to here
libdvdread-7.1.1/src/dvd_reader.c:1938:9: branch_false: following ‘false’ branch (when ‘buffer_base’ is non-NULL)...
libdvdread-7.1.1/src/dvd_reader.c:1944:32: branch_false: ...to here
libdvdread-7.1.1/src/dvd_reader.c:1946:20: call_function: calling ‘DVDReadBytes’ from ‘DVDDiscID’
# 1690|       /* Copy the cache at a specified offset into data. offset and block_count
# 1691|        * must be converted into bytes */
# 1692|->     memcpy( data, dvd_file->cache + (int64_t)offset * (int64_t)DVD_VIDEO_LB_LEN,
# 1693|               (int64_t)block_count * (int64_t)DVD_VIDEO_LB_LEN );
# 1694|   

Error: COMPILER_WARNING: [#def3]
libdvdread-7.1.1/src/ifo_print.c: scope_hint: In function ‘ifoPrint_TT’
libdvdread-7.1.1/src/ifo_print.c:685:14: warning[-Wshadow=compatible-local]: declaration of ‘i’ shadows a previous local
#  685 |     for (int i=0; i<index->nr_tracks ;i++){
#      |              ^
libdvdread-7.1.1/src/ifo_print.c:678:12: note: shadowed declaration is here
#  678 |   for (int i=0; i< atsi_title_table->nr_titles;i++){
#      |            ^
#  683|       printf("Start sector of pointers table %d: %04x\n", i, index->start_sector_pointers_table);
#  684|   
#  685|->     for (int i=0; i<index->nr_tracks ;i++){
#  686|         printf("Track number in title of track %d: %02x\n", i, index->atsi_track_timestamp_rows[i].track_number_in_title );
#  687|         printf("Length PTS of track %d: %08x\n", i, index->atsi_track_timestamp_rows[i].length_pts_of_track);

Error: COMPILER_WARNING: [#def4]
libdvdread-7.1.1/src/ifo_print.c:690:14: warning[-Wshadow=compatible-local]: declaration of ‘i’ shadows a previous local
#  690 |     for (int i=0; i< index->nr_pointer_records;i++){
#      |              ^
libdvdread-7.1.1/src/ifo_print.c:678:12: note: shadowed declaration is here
#  678 |   for (int i=0; i< atsi_title_table->nr_titles;i++){
#      |            ^
#  688|         printf("Start PTS of track %d: %08x\n", i, index->atsi_track_timestamp_rows[i].first_pts_of_track);
#  689|       }
#  690|->     for (int i=0; i< index->nr_pointer_records;i++){
#  691|         printf("Track start sector %d: %08x\n", i, index->atsi_track_pointer_rows[i].start_sector);
#  692|         printf("Length PTS of track %d: %08x\n", i, index->atsi_track_pointer_rows[i].end_sector);

Error: COMPILER_WARNING (CWE-758): [#def5]
libdvdread-7.1.1/src/ifo_read.c:772:18: warning[-Wmissing-prototypes]: no previous prototype for ‘ifoFree_UD_PGCIT’
#  772 | DVDREAD_API void ifoFree_UD_PGCIT(ifo_handle_t *ifofile) {
#      |                  ^~~~~~~~~~~~~~~~
#  770|   }
#  771|   
#  772|-> DVDREAD_API void ifoFree_UD_PGCIT(ifo_handle_t *ifofile) {
#  773|     for ( int j = 0; j < ifofile->ud_pgcit->total_nr_of_programs ; j++ ) {
#  774|       if(ifofile->ud_pgcit->m_c_gi[j].c_epi_n > 0)

Error: COMPILER_WARNING: [#def6]
libdvdread-7.1.1/src/ifo_read.c: scope_hint: In function ‘ifoRead_PGC_GI’
libdvdread-7.1.1/src/ifo_read.c:1625:15: warning[-Wshadow=compatible-local]: declaration of ‘j’ shadows a previous local
# 1625 |       for(int j = 0; j < pgc_gi->pgi[i].map.nr_of_time_info; j++) {
#      |               ^
libdvdread-7.1.1/src/ifo_read.c:1572:10: note: shadowed declaration is here
# 1572 |   int i, j;
#      |          ^
# 1623|         }
# 1624|   
# 1625|->       for(int j = 0; j < pgc_gi->pgi[i].map.nr_of_time_info; j++) {
# 1626|           B2N_16(pgc_gi->pgi[i].map.time_infos[j].vobu_entn);
# 1627|           B2N_32(pgc_gi->pgi[i].map.time_infos[j].vobu_adr);

Scan Properties

analyzer-version-clippy1.97.1
analyzer-version-cppcheck2.21.1
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.97.1
diffbase-analyzer-version-cppcheck2.21.1
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-42.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-namelibdvdread-7.0.1-1.fc44
diffbase-store-results-to/tmp/tmp5_kx10as/libdvdread-7.0.1-1.fc44.tar.xz
diffbase-time-created2026-08-03 17:11:20
diffbase-time-finished2026-08-03 17:13:29
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,clippy,unicontrol,shellcheck,cppcheck' '-o' '/tmp/tmp5_kx10as/libdvdread-7.0.1-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp5_kx10as/libdvdread-7.0.1-1.fc44.src.rpm'
diffbase-tool-versioncsmock-3.8.7.20260803.142340.gb75b18e-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-42.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-namelibdvdread-7.1.1-1.fc45
store-results-to/tmp/tmpb7wwk_e4/libdvdread-7.1.1-1.fc45.tar.xz
time-created2026-08-03 17:13:45
time-finished2026-08-03 17:15:03
titleNewly introduced findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,clippy,unicontrol,shellcheck,cppcheck' '-o' '/tmp/tmpb7wwk_e4/libdvdread-7.1.1-1.fc45.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpb7wwk_e4/libdvdread-7.1.1-1.fc45.src.rpm'
tool-versioncsmock-3.8.7.20260803.142340.gb75b18e-1.el9