summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/cmd/sgs/packages/common/SUNWonld-README1
-rw-r--r--usr/src/cmd/sgs/rtld/common/remove.c4
2 files changed, 5 insertions, 0 deletions
diff --git a/usr/src/cmd/sgs/packages/common/SUNWonld-README b/usr/src/cmd/sgs/packages/common/SUNWonld-README
index 0ebc25aa56..939f727235 100644
--- a/usr/src/cmd/sgs/packages/common/SUNWonld-README
+++ b/usr/src/cmd/sgs/packages/common/SUNWonld-README
@@ -1228,3 +1228,4 @@ Bugid Risk Synopsis
versioning
6541004 hwcap filter processing can leak memory
5108874 elfdump SEGVs on bad object file
+6547441 Uninitialized variable causes ld.so.1 to crash on object cleanup
diff --git a/usr/src/cmd/sgs/rtld/common/remove.c b/usr/src/cmd/sgs/rtld/common/remove.c
index c4ee9d6d68..25675e3286 100644
--- a/usr/src/cmd/sgs/rtld/common/remove.c
+++ b/usr/src/cmd/sgs/rtld/common/remove.c
@@ -859,6 +859,8 @@ remove_lmc(Lm_list *lml, Rt_map *clmp, Lm_cntl *lmc, Aliste lmco,
if (((ghp = hdl_create(lml, lmc->lc_head, 0, 0)) == 0) ||
(hdl_initialize(ghp, lmc->lc_head, 0, 0) == 0))
lmc->lc_flags &= ~LMC_FLG_RELOCATING;
+ } else {
+ ghp = 0;
}
/*
@@ -875,6 +877,8 @@ remove_lmc(Lm_list *lml, Rt_map *clmp, Lm_cntl *lmc, Aliste lmco,
return;
}
+ ASSERT(ghp != 0);
+
/*
* As the objects of this handle are being forcibly removed, first
* remove any associations to objects on parent link-map control