diff options
| -rwxr-xr-x | gui/Config.c | 5 | ||||
| -rwxr-xr-x | libpcsxcore/misc.c | 10 |
2 files changed, 9 insertions, 6 deletions
diff --git a/gui/Config.c b/gui/Config.c index b09c0f2d..3c0aa923 100755 --- a/gui/Config.c +++ b/gui/Config.c @@ -103,7 +103,10 @@ int LoadConfig(PcsxConfig *Conf) { if (f == NULL) return -1; data = (char *)malloc(size + 1); - if (data == NULL) return -1; + if (data == NULL) { + fclose(f); + return -1; + } fread(data, 1, buf.st_size, f); fclose(f); diff --git a/libpcsxcore/misc.c b/libpcsxcore/misc.c index 581e6db9..f0f1c4ee 100755 --- a/libpcsxcore/misc.c +++ b/libpcsxcore/misc.c @@ -174,9 +174,9 @@ int LoadCdrom() { // read the SYSTEM.CNF READTRACK(); - sscanf((char *)buf + 12, "BOOT = cdrom:\\%256s", exename); + sscanf((char *)buf + 12, "BOOT = cdrom:\\%255s", exename); if (GetCdromFile(mdir, time, exename) == -1) { - sscanf((char *)buf + 12, "BOOT = cdrom:%256s", exename); + sscanf((char *)buf + 12, "BOOT = cdrom:%255s", exename); if (GetCdromFile(mdir, time, exename) == -1) { char *ptr = strstr(buf + 12, "cdrom:"); if (ptr != NULL) { @@ -230,7 +230,7 @@ int LoadCdromFile(const char *filename, EXE_HEADER *head) { u8 mdir[4096], exename[256]; u32 size, addr; - sscanf(filename, "cdrom:\\%256s", exename); + sscanf(filename, "cdrom:\\%255s", exename); time[0] = itob(0); time[1] = itob(2); time[2] = itob(0x10); @@ -299,9 +299,9 @@ int CheckCdrom() { if (GetCdromFile(mdir, time, "SYSTEM.CNF;1") != -1) { READTRACK(); - sscanf((char *)buf + 12, "BOOT = cdrom:\\%256s", exename); + sscanf((char *)buf + 12, "BOOT = cdrom:\\%255s", exename); if (GetCdromFile(mdir, time, exename) == -1) { - sscanf((char *)buf + 12, "BOOT = cdrom:%256s", exename); + sscanf((char *)buf + 12, "BOOT = cdrom:%255s", exename); if (GetCdromFile(mdir, time, exename) == -1) { char *ptr = strstr(buf + 12, "cdrom:"); // possibly the executable is in some subdir if (ptr != NULL) { |
