fixup! Avoid the module access after destroy 74/238174/2 accepted/tizen/unified/20200713.094448 submit/tizen/20200710.025458
authorYoungHun Kim <yh8004.kim@samsung.com>
Thu, 9 Jul 2020 05:43:02 +0000 (14:43 +0900)
committerYoungHun Kim <yh8004.kim@samsung.com>
Thu, 9 Jul 2020 06:11:10 +0000 (15:11 +0900)
Change-Id: Iad3fbed148a296e6b2e52dd406cfb9e1227662b6

server/src/muse_server.c

index f04cd32..efb001f 100644 (file)
@@ -33,6 +33,7 @@ void muse_server_set_dispatch_timeout(muse_module_h m, int api, int timeout)
 int muse_server_get_dispatch_timeout(muse_module_h m, int api)
 {
        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(m->idx >= 0 && m->idx < ms_get_instance()->conf->host_cnt, MM_ERROR_INVALID_ARGUMENT);
        muse_return_val_if_fail(api >= 0 && api < MUSE_DISPATCHER_MAX, MM_ERROR_INVALID_ARGUMENT);
 
@@ -43,6 +44,7 @@ int muse_server_get_dispatch_timeout(muse_module_h m, int api)
 int muse_server_module_set_value(muse_module_h m, const char *name, int value)
 {
        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(m->idx >= 0 && m->idx < ms_get_instance()->conf->host_cnt, MM_ERROR_INVALID_ARGUMENT);
 
@@ -56,6 +58,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);
        muse_return_val_if_fail(m->idx >= 0 && m->idx < ms_get_instance()->conf->host_cnt, MM_ERROR_INVALID_ARGUMENT);
@@ -69,12 +72,14 @@ 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;
 }
 
@@ -212,6 +217,7 @@ int muse_server_ipc_set_handle(muse_module_h m, intptr_t handle)
 int muse_server_ipc_get_fd(muse_module_h m, int *fd)
 {
        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(fd, MM_ERROR_INVALID_ARGUMENT);
 
        *fd = m->ch[MUSE_CHANNEL_MSG].tbm_fd[0];
@@ -223,6 +229,7 @@ int muse_server_ipc_get_fds(muse_module_h m, int *fds, int *number)
        int i = 0;
 
        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(fds, MM_ERROR_INVALID_ARGUMENT);
        muse_return_val_if_fail(number, MM_ERROR_INVALID_ARGUMENT);
 
@@ -241,6 +248,7 @@ int muse_server_ipc_get_fds(muse_module_h m, int *fds, int *number)
 int muse_server_ipc_set_fd(muse_module_h m, int fd)
 {
        muse_return_val_if_fail(m, MM_ERROR_INVALID_ARGUMENT);
+       muse_return_val_if_fail(m->pid > 0, MM_ERROR_INVALID_ARGUMENT);
 
        if (!muse_core_fd_is_valid(fd)) {
                LOGE("invalid fd: %d", fd);