Error: GCC_ANALYZER_WARNING (CWE-688):
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):
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:
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:
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):
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:
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);
