summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2010-10-05 23:21:51 +0000
committerCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2010-10-05 23:21:51 +0000
commit602de9829cc730e3fbc401297419e9acdfb0fe83 (patch)
tree4ce1cf395d834c314e97ea0c3fb5d0a83ed5b254
parent1db7a448b37f1f699bd9a64d2187f3883e0f4503 (diff)
downloadast2050-flashrom-602de9829cc730e3fbc401297419e9acdfb0fe83.zip
ast2050-flashrom-602de9829cc730e3fbc401297419e9acdfb0fe83.tar.gz
DJGPP: Avoid leaking memory on lowmem mapping error
Add a clarifying comment about why low memory is never unmapped. Corresponding to flashrom svn r1195. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Rudolf Marek <r.marek@assembler.cz>
-rw-r--r--physmap.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/physmap.c b/physmap.c
index 011c8d1..d5948ae 100644
--- a/physmap.c
+++ b/physmap.c
@@ -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;
}
OpenPOWER on IntegriCloud