summaryrefslogtreecommitdiff
path: root/libexec
diff options
context:
space:
mode:
authoritohy <itohy@NetBSD.org>2003-01-16 08:45:56 +0000
committeritohy <itohy@NetBSD.org>2003-01-16 08:45:56 +0000
commit4e2a4fe8fc73c76dfffa70b075fc6b2e38455acd (patch)
tree8005a1e92ce81852ab60a51a5ca8c83c97651412 /libexec
parente43fc70de52f0af4edb41b646c5e3552c29b3764 (diff)
Fix problem where dlclose() falls into infinite loop.
Diffstat (limited to 'libexec')
-rw-r--r--libexec/ld.aout_so/rtld.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/libexec/ld.aout_so/rtld.c b/libexec/ld.aout_so/rtld.c
index cc1993b600b..74fc419e358 100644
--- a/libexec/ld.aout_so/rtld.c
+++ b/libexec/ld.aout_so/rtld.c
@@ -1,4 +1,4 @@
-/* $NetBSD: rtld.c,v 1.86 2002/12/10 17:14:34 thorpej Exp $ */
+/* $NetBSD: rtld.c,v 1.87 2003/01/16 08:45:56 itohy Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -781,11 +781,9 @@ unmap_object(smp)
}
for (rtsp = rt_symbol_head; (rtp = rtsp->rt_next) != NULL;) {
+ rtsp->rt_next = rtp->rt_next;
if (rtp->rt_smp == smp) {
- rtsp->rt_next = rtp->rt_next;
clear_rts(rtp);
- } else {
- rtsp->rt_next = rtsp->rt_next;
}
}
}