From 619250425e351f60e183b50f16df8f559c102582 Mon Sep 17 00:00:00 2001 From: LJ Sonic <lamr@free.fr> Date: Mon, 29 Nov 2021 00:39:42 +0100 Subject: [PATCH] Fix fileneeded array not being reallocated correctly --- src/d_clisrv.c | 1 + src/d_netfil.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index c345d52908..36ced7f64e 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -2297,6 +2297,7 @@ static boolean CL_ServerConnectionTicker(const char *tmpsave, tic_t *oldtic, tic case CL_LOADFILES: if (CL_LoadServerFiles()) { + FreeFileNeeded(); *asksent = 0; //This ensure the first join ask is right away firstconnectattempttime = I_GetTime(); cl_mode = CL_ASKJOIN; diff --git a/src/d_netfil.c b/src/d_netfil.c index 6e9130f143..5168fff9ad 100644 --- a/src/d_netfil.c +++ b/src/d_netfil.c @@ -189,6 +189,8 @@ void AllocFileNeeded(INT32 size) { if (fileneeded == NULL) fileneeded = Z_Calloc(sizeof(fileneeded_t) * size, PU_STATIC, NULL); + else + fileneeded = Z_Realloc(fileneeded, sizeof(fileneeded_t) * size, PU_STATIC, NULL); } void FreeFileNeeded(void) @@ -235,6 +237,7 @@ void CL_PrepareDownloadSaveGame(const char *tmpsave) lastfilenum = -1; #endif + FreeFileNeeded(); AllocFileNeeded(1); fileneedednum = 1; @@ -728,6 +731,7 @@ void CL_PrepareDownloadLuaFile(void) netbuffer->packettype = PT_ASKLUAFILE; HSendPacket(servernode, true, 0, 0); + FreeFileNeeded(); AllocFileNeeded(1); fileneedednum = 1; -- GitLab