Commit 21532667 authored by Karl Heuer's avatar Karl Heuer
Browse files

(relinquish): When returning memory to the system,

watch out for the original data segment boundary.
parent 2c1e5f9b
......@@ -363,7 +363,18 @@ relinquish ()
}
if ((*real_morecore) (- excess) == 0)
abort ();
{
/* If the system didn't want that much memory back, adjust
the end of the last heap to reflect that. This can occur
if break_value is still within the original data segment. */
last_heap->end += excess;
/* Make sure that the result of the adjustment is accurate.
It should be, for the else clause above; the other case,
which returns the entire last heap to the system, seems
unlikely to trigger this mode of failure. */
if (last_heap->end != (*real_morecore) (0))
abort ();
}
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment