On second thoughts, let's be EXTRA careful to avoid any potential double frees.

This commit is contained in:
toaster 2023-07-17 18:20:22 +01:00
parent bf8d09980d
commit 859b3fa350

View file

@ -3061,7 +3061,7 @@ void G_DoPlayDemo(const char *defdemoname)
else
{
// FIXME: this file doesn't manage its memory and actually free this when it's done using it
Z_Free(demobuf.buffer);
//Z_Free(demobuf.buffer);
demobuf.buffer = NULL;
n = defdemoname+strlen(defdemoname);
@ -4183,13 +4183,19 @@ boolean G_CheckDemoStatus(void)
return true;
}
if (demo.recording && (modeattacking || demo.savemode != DSM_NOTSAVING))
if (!demo.recording)
return false;
if (modeattacking || demo.savemode != DSM_NOTSAVING)
{
G_SaveDemo();
return true;
}
Z_Free(demobuf.buffer);
demo.recording = false;
return false;
}