From 85914cc7cd9143b08353409b1dea2a0d536e31de Mon Sep 17 00:00:00 2001
From: James R <justsomejames2@gmail.com>
Date: Sun, 25 Apr 2021 21:55:04 -0700
Subject: [PATCH] Free zstring when switching to preset value

This is only applicable for bounded cvars (MIN, MAX),
since otherwise there's no way to allocate a zstring.
---
 src/command.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/command.c b/src/command.c
index f1bf7dfb52..00116a0cb3 100644
--- a/src/command.c
+++ b/src/command.c
@@ -1441,6 +1441,10 @@ static void Setvalue(consvar_t *var, const char *valstr, boolean stealth)
 						return;
 					}
 
+					// free the old value string
+					Z_Free(var->zstring);
+					var->zstring = NULL;
+
 					var->value = var->PossibleValue[i].value;
 					var->string = var->PossibleValue[i].strvalue;
 					goto finish;
-- 
GitLab