diff options
| author | itohy <itohy@NetBSD.org> | 2003-01-16 08:45:56 +0000 |
|---|---|---|
| committer | itohy <itohy@NetBSD.org> | 2003-01-16 08:45:56 +0000 |
| commit | 4e2a4fe8fc73c76dfffa70b075fc6b2e38455acd (patch) | |
| tree | 8005a1e92ce81852ab60a51a5ca8c83c97651412 /libexec | |
| parent | e43fc70de52f0af4edb41b646c5e3552c29b3764 (diff) | |
Fix problem where dlclose() falls into infinite loop.
Diffstat (limited to 'libexec')
| -rw-r--r-- | libexec/ld.aout_so/rtld.c | 6 |
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; } } } |
