From 5c9b46a52cbb654debdaf77a827dc4b2e48abc35 Mon Sep 17 00:00:00 2001 From: Peter Veenstra Date: Tue, 27 Jan 2004 14:26:43 +0000 Subject: [PATCH] don't allow dos it's memory to be freed Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1605 --- src/dos/dos_memory.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/dos/dos_memory.cpp b/src/dos/dos_memory.cpp index 2279c216..e2e3d9d3 100644 --- a/src/dos/dos_memory.cpp +++ b/src/dos/dos_memory.cpp @@ -165,6 +165,11 @@ bool DOS_ResizeMemory(Bit16u segment,Bit16u * blocks) { bool DOS_FreeMemory(Bit16u segment) { //TODO Check if allowed to free this segment + if ((segment-1) < MEM_START){ + LOG(LOG_DOSMISC,LOG_ERROR)("Program tried to free %X ---ERROR",segment); + return false; + } + DOS_MCB mcb(segment-1); mcb.SetPSPSeg(MCB_FREE); DOS_CompressMemory();