[libdvdnav-devel] [PATCH] libdvdread: src/ifo_read.c Fix off-by-one error on displaying IFO filename
Steve Dibb
beandog at gentoo.org
Wed May 7 21:09:15 CEST 2014
Fixes incorrect warning:
libdvdread: Invalid IFO for title 2 (VTS_02_0.BU).
to:
libdvdread: Invalid IFO for title 2 (VTS_02_0.BUP).
diff --git a/src/ifo_read.c b/src/ifo_read.c
index cc6edd7..5a67dee 100644
--- a/src/ifo_read.c
+++ b/src/ifo_read.c
@@ -305,11 +305,9 @@ ifo_handle_t *ifoOpen(dvd_reader_t *dvd, int title) {
}
if (title)
- snprintf(ifo_filename, 12, "VTS_%02d_0.%s", title, bup_file_opened
? "BUP" : "IFO");
+ snprintf(ifo_filename, 13, "VTS_%02d_0.%s", title, bup_file_opened
? "BUP" : "IFO");
else
- snprintf(ifo_filename, 12, "VIDEO_TS.%s", bup_file_opened ? "BUP" :
"IFO");
-
- ifo_filename[12] = '\0';
+ snprintf(ifo_filename, 13, "VIDEO_TS.%s", bup_file_opened ? "BUP" :
"IFO");
if(!ifofile->file) {
fprintf(stderr, "libdvdread: Can't open file %s.\n", ifo_filename);
@@ -369,9 +367,9 @@ ifoOpen_try_bup:
ifofile->file = DVDOpenFile(dvd, title, DVD_READ_INFO_BACKUP_FILE);
if (title)
- snprintf(ifo_filename, 12, "VTS_%02d_0.BUP", title);
+ snprintf(ifo_filename, 13, "VTS_%02d_0.BUP", title);
else
- strncpy(ifo_filename, "VIDEO_TS.BUP", 12);
+ strncpy(ifo_filename, "VIDEO_TS.BUP", 13);
if (!ifofile->file) {
fprintf(stderr, "libdvdread: Can't open file %s.\n", ifo_filename);
More information about the libdvdnav-devel
mailing list