Use P_SaveBufferFree everywhere

- Fixes PR_SaveProfiles calling stdlib free on zone
memory.
- Also touched g_demo.c
This commit is contained in:
James R 2023-01-03 23:14:29 -08:00
parent 11b4fcdc1c
commit 5c51ad77f6
2 changed files with 15 additions and 15 deletions

View file

@ -3020,7 +3020,7 @@ void G_DoPlayDemo(char *defdemoname)
CONS_Alert(CONS_ERROR, "%s", msg);
M_StartMessage(msg, NULL, MM_NOTHING);
Z_Free(pdemoname);
Z_Free(demobuf.buffer);
P_SaveBufferFree(&demobuf);
demo.playback = false;
demo.title = false;
return;
@ -3040,7 +3040,7 @@ void G_DoPlayDemo(char *defdemoname)
CONS_Alert(CONS_ERROR, "%s", msg);
M_StartMessage(msg, NULL, MM_NOTHING);
Z_Free(pdemoname);
Z_Free(demobuf.buffer);
P_SaveBufferFree(&demobuf);
demo.playback = false;
demo.title = false;
return;
@ -3058,7 +3058,7 @@ void G_DoPlayDemo(char *defdemoname)
CONS_Alert(CONS_ERROR, "%s", msg);
M_StartMessage(msg, NULL, MM_NOTHING);
Z_Free(pdemoname);
Z_Free(demobuf.buffer);
P_SaveBufferFree(&demobuf);
demo.playback = false;
demo.title = false;
return;
@ -3078,7 +3078,7 @@ void G_DoPlayDemo(char *defdemoname)
CONS_Alert(CONS_ERROR, "%s", msg);
M_StartMessage(msg, NULL, MM_NOTHING);
Z_Free(pdemoname);
Z_Free(demobuf.buffer);
P_SaveBufferFree(&demobuf);
demo.playback = false;
demo.title = false;
return;
@ -3136,7 +3136,7 @@ void G_DoPlayDemo(char *defdemoname)
if (!CON_Ready()) // In the console they'll just see the notice there! No point pulling them out.
M_StartMessage(msg, NULL, MM_NOTHING);
Z_Free(pdemoname);
Z_Free(demobuf.buffer);
P_SaveBufferFree(&demobuf);
demo.playback = false;
demo.title = false;
return;
@ -3151,7 +3151,7 @@ void G_DoPlayDemo(char *defdemoname)
CONS_Alert(CONS_ERROR, "%s", msg);
M_StartMessage(msg, NULL, MM_NOTHING);
Z_Free(pdemoname);
Z_Free(demobuf.buffer);
P_SaveBufferFree(&demobuf);
demo.playback = false;
demo.title = false;
return;
@ -3187,7 +3187,7 @@ void G_DoPlayDemo(char *defdemoname)
Z_Free(demo.skinlist);
demo.skinlist = NULL;
Z_Free(pdemoname);
Z_Free(demobuf.buffer);
P_SaveBufferFree(&demobuf);
demo.playback = false;
demo.title = false;
return;
@ -3205,7 +3205,7 @@ void G_DoPlayDemo(char *defdemoname)
Z_Free(demo.skinlist);
demo.skinlist = NULL;
Z_Free(pdemoname);
Z_Free(demobuf.buffer);
P_SaveBufferFree(&demobuf);
demo.playback = false;
demo.title = false;
return;
@ -3260,7 +3260,7 @@ void G_DoPlayDemo(char *defdemoname)
Z_Free(demo.skinlist);
demo.skinlist = NULL;
Z_Free(pdemoname);
Z_Free(demobuf.buffer);
P_SaveBufferFree(&demobuf);
demo.playback = false;
demo.title = false;
return;
@ -3278,7 +3278,7 @@ void G_DoPlayDemo(char *defdemoname)
Z_Free(demo.skinlist);
demo.skinlist = NULL;
Z_Free(pdemoname);
Z_Free(demobuf.buffer);
P_SaveBufferFree(&demobuf);
demo.playback = false;
demo.title = false;
return;
@ -3934,7 +3934,7 @@ ATTRNORETURN void FUNCNORETURN G_StopMetalRecording(boolean kill)
WriteDemoChecksum();
saved = FIL_WriteFile(va("%sMS.LMP", G_BuildMapName(gamemap)), demobuf.buffer, demobuf.p - demobuf.buffer); // finally output the file.
}
Z_Free(demobuf.buffer);
P_SaveBufferFree(&demobuf);
metalrecording = false;
if (saved)
I_Error("Saved to %sMS.LMP", G_BuildMapName(gamemap));
@ -4006,7 +4006,7 @@ static void G_StopTimingDemo(void)
// called from stopdemo command, map command, and g_checkdemoStatus.
void G_StopDemo(void)
{
Z_Free(demobuf.buffer);
P_SaveBufferFree(&demobuf);
demobuf.buffer = NULL;
demo.playback = false;
if (demo.title)
@ -4154,7 +4154,7 @@ void G_SaveDemo(void)
if (FIL_WriteFile(demoname, demobuf.buffer, demobuf.p - demobuf.buffer)) // finally output the file.
demo.savemode = DSM_SAVED;
Z_Free(demobuf.buffer);
P_SaveBufferFree(&demobuf);
demo.recording = false;
if (!modeattacking)

View file

@ -267,10 +267,10 @@ void PR_SaveProfiles(void)
if (!FIL_WriteFile(va(pandf, srb2home, PROFILESFILE), save.buffer, length))
{
free(save.buffer);
P_SaveBufferFree(&save);
I_Error("Couldn't save profiles. Are you out of Disk space / playing in a protected folder?");
}
free(save.buffer);
P_SaveBufferFree(&save);
}
void PR_LoadProfiles(void)