From dac90bba4bcc6e0d14e0c9ea564a19736de392b2 Mon Sep 17 00:00:00 2001 From: Matt Hargett Date: Thu, 6 Jan 2022 03:24:59 -0800 Subject: [PATCH] Fix memory corruption when using new config file with long kickstart path. (#503) --- support/minimig/minimig_config.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/support/minimig/minimig_config.cpp b/support/minimig/minimig_config.cpp index 5c09397..dda4c4c 100644 --- a/support/minimig/minimig_config.cpp +++ b/support/minimig/minimig_config.cpp @@ -378,7 +378,7 @@ static void ApplyConfiguration(char reloadkickstart) spi_uio_cmd8(UIO_MM2_RST, rstval); if (!UploadKickstart(minimig_config.kickstart)) { - snprintf(minimig_config.kickstart, 1024, "%s/%s", HomeDir(), "KICK.ROM"); + snprintf(minimig_config.kickstart, sizeof(minimig_config.kickstart) - 1, "%s/%s", HomeDir(), "KICK.ROM"); if (!UploadKickstart(minimig_config.kickstart)) { strcpy(minimig_config.kickstart, "KICK.ROM"); @@ -483,7 +483,7 @@ int minimig_cfg_load(int num) // set default configuration memset((void*)&minimig_config, 0, sizeof(minimig_config)); // Finally found default config bug - params were reversed! memcpy(minimig_config.id, config_id, sizeof(minimig_config.id)); - snprintf(minimig_config.kickstart, 1024, "%s/%s", HomeDir(), "KICK.ROM"); + snprintf(minimig_config.kickstart, sizeof(minimig_config.kickstart) - 1, "%s/%s", HomeDir(), "KICK.ROM"); minimig_config.memory = 0x11; minimig_config.cpu = 0; minimig_config.chipset = 0;