summaryrefslogtreecommitdiff
path: root/ldso/libdl
diff options
context:
space:
mode:
authorFilippo Arcidiacono <filippo.arcidiacono@st.com>2012-02-03 16:41:44 +0100
committerCarmelo Amoroso <carmelo.amoroso@st.com>2012-02-09 15:27:40 +0100
commit260260f336ded9ca7be7355331a2cd77659f9ecb (patch)
treeeba3e5323783d9520ff99edf416233a1819ab346 /ldso/libdl
parentcdad7776b9dccc0fae3b9802829964a3dd3cdfd7 (diff)
libdl: fix memleak for local scope of dlopened's needed libraries
Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Diffstat (limited to 'ldso/libdl')
-rw-r--r--ldso/libdl/libdl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/ldso/libdl/libdl.c b/ldso/libdl/libdl.c
index 086a05932..51bcf7d25 100644
--- a/ldso/libdl/libdl.c
+++ b/ldso/libdl/libdl.c
@@ -1011,6 +1011,8 @@ static int do_dlclose(void *vhandle, int need_fini)
}
}
free(tpnt->libname);
+ if (handle->dyn != tpnt)
+ free(tpnt->symbol_scope.r_list);
free(tpnt);
}
}