From 2afeb7dee388c0605efad12c96b5c019e7ed6e8a Mon Sep 17 00:00:00 2001 From: Lior Halphon Date: Mon, 17 May 2021 17:11:41 +0300 Subject: [PATCH] Place a cap on the GBS file size --- Core/gb.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Core/gb.c b/Core/gb.c index 4bf9287..1f1acdd 100644 --- a/Core/gb.c +++ b/Core/gb.c @@ -462,13 +462,13 @@ int GB_load_gbs(GB_gameboy_t *gb, const char *path, GB_gbs_info_t *info) return errno; } fseek(f, 0, SEEK_END); - size_t file_size = ftell(f); + size_t file_size = MIN(ftell(f), sizeof(GB_gbs_header_t) + 0x4000 * 0x100); // Cap with the maximum MBC3 ROM size + GBS header fseek(f, 0, SEEK_SET); uint8_t *file_data = malloc(file_size); - fread(file_data,1,file_size,f); + fread(file_data, 1, file_size, f); fclose(f); - int r = GB_load_gbs_from_buffer(gb,file_data,file_size,info); + int r = GB_load_gbs_from_buffer(gb, file_data, file_size, info); free(file_data); return r; }