From 5af778ba7f813eeefe0fedbd366edd6d1236c8b4 Mon Sep 17 00:00:00 2001
From: Steel Titanium <steeltitanium1@gmail.com>
Date: Sat, 16 Jun 2018 23:44:28 -0400
Subject: [PATCH] Fix M_FindResponseFile returning garbage data

---
 src/m_argv.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/m_argv.c b/src/m_argv.c
index 859fc90261..e9f086891d 100644
--- a/src/m_argv.c
+++ b/src/m_argv.c
@@ -198,17 +198,16 @@ void M_FindResponseFile(void)
 					k++;
 			} while (k < size);
 
-			free(file);
-
 			for (k = 0; k < pindex; k++)
 				myargv[indexinfile++] = moreargs[k];
 			myargc = indexinfile;
 
 			// display arguments
-			CONS_Printf(M_GetText("%d command-line args:\n"), myargc);
+			CONS_Printf(M_GetText("%d command-line args:\n"), myargc-1); // -1 so @ don't actually get counted for
 			for (k = 1; k < myargc; k++)
 				CONS_Printf("%s\n", myargv[k]);
 
 			break;
+			free(file); // Needs to be called after everything else, or we would end up with garbage data
 		}
-}
+}
\ No newline at end of file
-- 
GitLab