diff --git a/desmume/src/saves.c b/desmume/src/saves.c index 1acd14f3f..a75d07902 100644 --- a/desmume/src/saves.c +++ b/desmume/src/saves.c @@ -66,8 +66,8 @@ void scan_savestates() for( i = 1; i <= NB_STATES; i++ ) { - strncpy(filename, szRomBaseName,260); - if (strlen(filename) + strlen(".dst") + strlen("-2147483648") /* = biggest string for i */ + 1>260) return ; + strncpy(filename, szRomBaseName,MAX_PATH); + if (strlen(filename) + strlen(".dst") + strlen("-2147483648") /* = biggest string for i */ >MAX_PATH) return ; sprintf(filename+strlen(filename), "%d.dst", i); if( stat(filename,&sbuf) == -1 ) continue; savestates[i-1].exists = TRUE; @@ -82,8 +82,8 @@ void savestate_slot(int num) struct stat sbuf; char filename[MAX_PATH]; - strncpy(filename, szRomBaseName,260); - if (strlen(filename) + strlen(".dst") + strlen("-2147483648") /* = biggest string for num */ + 1>260) return ; + strncpy(filename, szRomBaseName,MAX_PATH); + if (strlen(filename) + strlen(".dst") + strlen("-2147483648") /* = biggest string for num */ >MAX_PATH) return ; sprintf(filename+strlen(filename), "%d.dst", num); savestate_save(filename); @@ -95,8 +95,8 @@ void savestate_slot(int num) void loadstate_slot(int num) { char filename[MAX_PATH]; - strncpy(filename, szRomBaseName,260); - if (strlen(filename) + strlen(".dst") + strlen("-2147483648") /* = biggest string for num */ + 1>260) return ; + strncpy(filename, szRomBaseName,MAX_PATH); + if (strlen(filename) + strlen(".dst") + strlen("-2147483648") /* = biggest string for num */ >MAX_PATH) return ; sprintf(filename+strlen(filename), "%d.dst", num); savestate_load(filename); }