Avoid the module access after destroy 36/213736/2 accepted/tizen/unified/20190917.034027 submit/tizen/20190911.082511
authorYoungHun Kim <yh8004.kim@samsung.com>
Wed, 11 Sep 2019 01:44:51 +0000 (10:44 +0900)
committerYoungHun Kim <yh8004.kim@samsung.com>
Wed, 11 Sep 2019 03:51:30 +0000 (12:51 +0900)
Change-Id: Id6e5779dc8ef38b4625cd0b8c597ea2a733b2cc9

packaging/mused.spec
server/src/muse_server.c
server/src/muse_server_ipc.c

index ec9b52a..79943a6 100644 (file)
@@ -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
index b6f2b08..f6a87aa 100644 (file)
@@ -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);
 }
 
index 0fa9dc2..1bb1030 100644 (file)
@@ -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);