Skip to send SERVER_DISCONNECTED error message if handle is not created. 70/206270/2 accepted/tizen_5.0_unified accepted/tizen/5.0/unified/20190516.072106 submit/tizen_5.0/20190516.014342
authorJeongmo Yang <jm80.yang@samsung.com>
Tue, 14 May 2019 02:36:55 +0000 (11:36 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Thu, 16 May 2019 01:12:40 +0000 (10:12 +0900)
- The error message could not be delivered to application,
  and it will cause crash when it's called in idle state.

[Version] 0.4.17
[Profile] Common
[Issue Type] Bug fix

Change-Id: Ib4681ca43c895e74742a19a57866e2080058f0bc
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
packaging/capi-media-camera.spec
src/camera.c

index 58c995ee430e93dc943aa25c1bd6e03a6b4fff59..217cd198ccdc70cef4fab42d39c4600676285cb5 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-camera
 Summary:    A Camera API
-Version:    0.4.16
+Version:    0.4.17
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 0ca23f3eb54912b6a0e92339de79de1124b14f37..d980808cc80d1d9905ee160ef3cd63ee3258ffee 100644 (file)
@@ -1495,7 +1495,7 @@ IDLE_EVENT_CALLBACK_DONE:
        return false;
 }
 
-static void *_camera_msg_handler_func(gpointer data)
+static gpointer _camera_msg_handler_func(gpointer data)
 {
        int api = 0;
        int type = 0;
@@ -1867,7 +1867,7 @@ static void __camera_process_msg(camera_cb_info_s *cb_info, char *msg)
 }
 
 
-static void *_camera_msg_recv_func(gpointer data)
+static gpointer _camera_msg_recv_func(gpointer data)
 {
        int recv_length = 0;
        int single_length = 0;
@@ -1980,6 +1980,11 @@ static void *_camera_msg_recv_func(gpointer data)
        if (!cb_info->is_server_connected) {
                char *error_msg = NULL;
 
+               if (cb_info->bufmgr == NULL) {
+                       LOGE("No need to send error(handle is not created)");
+                       goto CB_HANDLER_EXIT;
+               }
+
                if (cb_info->fd < 0) {
                        LOGE("fd is closed in client side");
                        goto CB_HANDLER_EXIT;