|
@@ -967,7 +967,8 @@ static int do_dlclose(void *vhandle, int need_fini)
|
|
|
end = (end + ADDR_ALIGN) & PAGE_ALIGN;
|
|
|
start = start & ~ADDR_ALIGN;
|
|
|
_dl_if_debug_print("unmapping: %s start: '%p' end: '%p'\n", tpnt->libname, start, end);
|
|
|
- DL_LIB_UNMAP (tpnt, end - start);
|
|
|
+ if (end > start)
|
|
|
+ DL_LIB_UNMAP (tpnt, end - start);
|
|
|
|
|
|
for (runp = tpnt->rtld_local; runp; runp = tmp) {
|
|
|
tmp = runp->next;
|