From e9e20b6652c659c6cf4e2f4cb8bcf530437bf47e Mon Sep 17 00:00:00 2001 From: toaster Date: Thu, 20 Apr 2023 22:57:03 +0100 Subject: [PATCH] ParseTextmapThingParameter: Tidier, more explicit guarantees for null-terminated stringarg handling --- src/p_setup.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/p_setup.c b/src/p_setup.c index eb8482c1e..a59f37071 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -1897,8 +1897,10 @@ static void ParseTextmapThingParameter(UINT32 i, const char *param, const char * size_t argnum = atol(param + 9); if (argnum >= NUMMAPTHINGSTRINGARGS) return; - mapthings[i].stringargs[argnum] = Z_Malloc(strlen(val) + 1, PU_LEVEL, NULL); - M_Memcpy(mapthings[i].stringargs[argnum], val, strlen(val) + 1); + size_t len = strlen(val); + mapthings[i].stringargs[argnum] = Z_Malloc(len + 1, PU_LEVEL, NULL); + M_Memcpy(mapthings[i].stringargs[argnum], val, len); + mapthings[i].stringargs[argnum][len] = '\0'; } else if (fastncmp(param, "arg", 3) && strlen(param) > 3) {