From f7292951aee305ea592b3484ea7995b1571e93fd Mon Sep 17 00:00:00 2001 From: dhy308 Date: Thu, 3 Nov 2022 11:38:18 +0800 Subject: [PATCH] =?UTF-8?q?fixed=206e0aa41=20from=20https://gitee.com/dhy3?= =?UTF-8?q?08/third=5Fparty=5Fmusl/pulls/643=20=E6=9B=BF=E6=8D=A2dlclose?= =?UTF-8?q?=E4=B8=AD=E7=9A=84malloc=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dhy308 --- porting/linux/user/ldso/dynlink.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/porting/linux/user/ldso/dynlink.c b/porting/linux/user/ldso/dynlink.c index d0022fc9..23f1eea3 100644 --- a/porting/linux/user/ldso/dynlink.c +++ b/porting/linux/user/ldso/dynlink.c @@ -3390,6 +3390,7 @@ static int dlclose_impl(struct dso *p) static char* dlclose_deps_black_list[] = { + "/system/lib/libhidebug.so", "/system/lib64/libhidebug.so", "/system/lib64/libmsdp_neardetect_algorithm.z.so", "/vendor/lib64/libhril_hdf.z.so" @@ -3410,7 +3411,7 @@ static int do_dlclose(struct dso *p) for (deps_num = 0; p->deps[deps_num]; deps_num++); - struct dso **deps_bak = malloc(deps_num*sizeof(struct dso*)); + struct dso **deps_bak = internal_malloc(deps_num*sizeof(struct dso*)); if (deps_bak != NULL) { memcpy(deps_bak, p->deps, deps_num*sizeof(struct dso*)); } @@ -3425,7 +3426,9 @@ static int do_dlclose(struct dso *p) } } - free(deps_bak); + internal_free(deps_bak); + + return 0; } hidden int __dlclose(void *p) -- GitLab