From 04910ff4be7ac498e0d3e289bcdf09269cd1999c Mon Sep 17 00:00:00 2001 From: YoungHun Kim Date: Wed, 11 Sep 2019 10:44:51 +0900 Subject: [PATCH] Avoid the module access after destroy Change-Id: Id6e5779dc8ef38b4625cd0b8c597ea2a733b2cc9 --- packaging/mused.spec | 2 +- server/src/muse_server.c | 4 ++++ server/src/muse_server_ipc.c | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packaging/mused.spec b/packaging/mused.spec index ec9b52a..79943a6 100644 --- a/packaging/mused.spec +++ b/packaging/mused.spec @@ -1,6 +1,6 @@ Name: mused Summary: A multimedia daemon -Version: 0.3.88 +Version: 0.3.89 Release: 0 Group: System/Libraries License: Apache-2.0 and BSD-3-Clause diff --git a/server/src/muse_server.c b/server/src/muse_server.c index b6f2b08..f6a87aa 100644 --- a/server/src/muse_server.c +++ b/server/src/muse_server.c @@ -48,6 +48,7 @@ int muse_server_module_get_value(muse_module_h m, const char *name, int *value) gpointer ptr; muse_return_val_if_fail(m, MM_ERROR_INVALID_ARGUMENT); + muse_return_val_if_fail(m->pid > 0, MM_ERROR_INVALID_ARGUMENT); muse_return_val_if_fail(name, MM_ERROR_INVALID_ARGUMENT); muse_return_val_if_fail(value, MM_ERROR_INVALID_ARGUMENT); @@ -60,18 +61,21 @@ int muse_server_module_get_value(muse_module_h m, const char *name, int *value) int muse_server_module_get_msg_fd(muse_module_h m) { muse_return_val_if_fail(m, MM_ERROR_INVALID_ARGUMENT); + muse_return_val_if_fail(m->pid > 0, MM_ERROR_INVALID_ARGUMENT); return m->ch[MUSE_CHANNEL_MSG].sock_fd; } int muse_server_module_get_data_fd(muse_module_h m) { muse_return_val_if_fail(m, MM_ERROR_INVALID_ARGUMENT); + muse_return_val_if_fail(m->pid > 0, MM_ERROR_INVALID_ARGUMENT); return m->ch[MUSE_CHANNEL_DATA].sock_fd; } char *muse_server_module_get_msg(muse_module_h m) { muse_return_val_if_fail(m, NULL); + muse_return_val_if_fail(m->pid > 0, NULL); return (m->recv_msg + m->msg_offset); } diff --git a/server/src/muse_server_ipc.c b/server/src/muse_server_ipc.c index 0fa9dc2..1bb1030 100644 --- a/server/src/muse_server_ipc.c +++ b/server/src/muse_server_ipc.c @@ -233,7 +233,7 @@ static gboolean _ms_ipc_dispatch_no_instance(muse_module_h m, void *jobj) ms_module_dispatch(m); - SECURE_LOGW("_ms_ipc_module_cleanup [module %p] [loaded value %d]", m, ms_module_get_loaded_dllsym(m->idx)); + SECURE_LOGW("[module %p] [loaded value %d]", m, ms_module_get_loaded_dllsym(m->idx)); out: ms_module_dispatch_unlock(m); -- 2.7.4