[0.2.106] fix resource leak in error case 43/202043/1 accepted/tizen/unified/20190327.025130 submit/tizen/20190326.032955
authorEunhye Choi <eunhae1.choi@samsung.com>
Fri, 22 Mar 2019 05:56:50 +0000 (14:56 +0900)
committerEunhye Choi <eunhae1.choi@samsung.com>
Fri, 22 Mar 2019 05:56:52 +0000 (14:56 +0900)
- If return msg sending is failed,
  player resource have to be released to avoid leak.

Change-Id: I654e6fc111b9040636fd4aa73187205c545f9bdf

muse/include/muse_player_msg.h
muse/src/muse_player.c
muse/src/muse_player_dispatcher.c
packaging/mmsvc-player.spec

index 5d72051..9d2ba8e 100644 (file)
@@ -193,12 +193,12 @@ extern int _player_disp_send_msg(int send_fd, char *msg, int *tfd);
  * @remarks Does NOT guarantee thread safe.
  * @param[in] module mused module information
  */
-#define PLAYER_SEND_CREATE_ACK(module) \
+#define PLAYER_SEND_CREATE_ACK(module, ret) \
        do {    \
                char *__msg__; \
                __msg__ = muse_core_msg_new(MUSE_PLAYER_CB_CREATE_ACK, \
                                        0); \
-               _player_disp_send_msg(muse_server_module_get_msg_fd(module), __msg__, NULL); \
+               ret = _player_disp_send_msg(muse_server_module_get_msg_fd(module), __msg__, NULL); \
                muse_core_msg_free(__msg__); \
        } while (0)
 
index 72847f9..e5e4fc6 100644 (file)
@@ -1358,6 +1358,10 @@ int player_disp_create(muse_module_h module)
        handle = (intptr_t)muse_player;
        muse_server_ipc_set_handle(module, handle);
        PLAYER_RETURN_MSG(api, ret, module, MUSE_TYPE_POINTER, "module_addr", module_addr);
+       if (ret != PLAYER_ERROR_NONE) {
+               LOGE("failed to return msg");
+               goto ERROR;
+       }
        return ret;
 
 ERROR:
index 0b10f7c..a8547a8 100644 (file)
@@ -62,9 +62,12 @@ static int player_cmd_shutdown(muse_module_h module)
 
 static int player_cmd_create_server_ack(muse_module_h module)
 {
+       int ret = PLAYER_ERROR_NONE;
+
        LOGD("ENTER");
-       PLAYER_SEND_CREATE_ACK(module);
-       return PLAYER_ERROR_NONE;
+       PLAYER_SEND_CREATE_ACK(module, ret);
+
+       return ret;
 }
 
 static int player_cmd_resouce_not_available(muse_module_h module)
index 90cdfaf..2749df2 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mmsvc-player
 Summary:    A Media Player module for muse server
-Version:    0.2.105
+Version:    0.2.106
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0