diff options
author | hailfinger <hailfinger@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1> | 2010-10-05 23:21:51 +0000 |
---|---|---|
committer | hailfinger <hailfinger@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1> | 2010-10-05 23:21:51 +0000 |
commit | 0e870867ca998ea13bbe6af4bb874cdcb53ae103 (patch) | |
tree | 4ce1cf395d834c314e97ea0c3fb5d0a83ed5b254 /physmap.c | |
parent | c1b28fbecb6940831ffdc06f7f157021b2266367 (diff) | |
download | flashrom-0e870867ca998ea13bbe6af4bb874cdcb53ae103.tar.gz |
DJGPP: Avoid leaking memory on lowmem mapping error.
Add a clarifying comment about why low memory is never unmapped.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Rudolf Marek <r.marek@assembler.cz>
git-svn-id: https://code.coreboot.org/svn/flashrom/trunk@1195 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'physmap.c')
-rw-r--r-- | physmap.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -56,6 +56,8 @@ static void *map_first_meg(unsigned long phys_addr, size_t len) } if (__djgpp_map_physical_memory(realmem_map, (1024 * 1024), 0)) { + free(realmem_map); + realmem_map = NULL; return ERROR_PTR; } @@ -95,7 +97,9 @@ void physunmap(void *virt_addr, size_t len) { __dpmi_meminfo mi; - /* we ignore unmaps for our first 1MB */ + /* There is no known way to unmap the first 1 MB. The DPMI server will + * do this for us on exit. + */ if ((virt_addr >= realmem_map) && ((virt_addr + len) <= (realmem_map + (1024 * 1024)))) { return; } |