Fixed some bugs in the CD-ROM image backend code.

This commit is contained in:
OBattler
2020-01-14 19:26:27 +01:00
committed by GitHub
parent c7cfc06285
commit fea96d6b67

View File

@@ -141,7 +141,10 @@ bin_init(const wchar_t *filename, int *error)
}
memset(tf->fn, 0x00, sizeof(tf->fn));
wcscpy(tf->fn, filename);
if (wcslen(tf->fn) > 260)
wcsncpy(tf->fn, filename, 260);
else
wcscpy(tf->fn, filename);
tf->file = plat_fopen64(tf->fn, L"rb");
cdrom_image_backend_log("CDROM: binary_open(%ls) = %08lx\n", tf->fn, tf->file);
@@ -682,6 +685,10 @@ cdi_add_track(cd_img_t *cdi, track_t *cur, uint64_t *shift, uint64_t prestart, u
if ((cdi->tracks != NULL) && (cdi->tracks_num != 0))
prev = &cdi->tracks[cdi->tracks_num - 1];
else if ((cdi->tracks != NULL) && (cdi->tracks_num == 0)) {
fatal("Non-NULL cdi->tracks with tracks_num being 0\n");
return 0;
}
/* First track (track number must be 1). */
if (cdi->tracks_num == 0) {