Fix coverity issues 77/179977/2
authorWonnam Jang <wn.jang@samsung.com>
Wed, 23 May 2018 23:40:00 +0000 (08:40 +0900)
committerWonnam Jang <wn.jang@samsung.com>
Thu, 24 May 2018 01:50:15 +0000 (10:50 +0900)
Change-Id: I46e33c4e2d2425055c5a0540575f56e828654ce4
Signed-off-by: Wonnam Jang <wn.jang@samsung.com>
client/vc_mgr_dbus.c
common/vc_cmd_db.c
server/vcd_dbus.c
server/vcd_recorder.c

index 2277fa9..0935452 100644 (file)
@@ -286,12 +286,12 @@ static Eina_Bool vc_mgr_listener_event_callback(void* data, Ecore_Fd_Handler *fd
                        int pid = 0;
                        int ret = -1;
                        char* key = NULL;
-                       char* data = NULL;
+                       char* private_data = NULL;
 
                        dbus_message_get_args(msg, &err,
                                DBUS_TYPE_INT32, &pid,
                                DBUS_TYPE_STRING, &key,
-                               DBUS_TYPE_STRING, &data,
+                               DBUS_TYPE_STRING, &private_data,
                                DBUS_TYPE_INVALID);
 
                        if (dbus_error_is_set(&err)) {
@@ -301,7 +301,7 @@ static Eina_Bool vc_mgr_listener_event_callback(void* data, Ecore_Fd_Handler *fd
 
                        if (pid > 0) {
                                SLOG(LOG_DEBUG, TAG_VCM, "@@ vc mgr get request set private data : pid(%d) ", pid);
-                               ret = __vc_mgr_cb_private_data_set(key, data);
+                               ret = __vc_mgr_cb_private_data_set(key, private_data);
                        } else {
                                SLOG(LOG_ERROR, TAG_VCM, "@@ vc mgr get requset set private data : invalid pid ");
                        }
index 7c74a97..928dfac 100644 (file)
@@ -692,6 +692,10 @@ static int __vc_db_extract_unfixed_command(char* command, char* fixed, char** te
        }
 
        char* temp = (char*)calloc(256, sizeof(char));
+       if (NULL == temp) {
+               SLOG(LOG_ERROR, vc_db_tag(), "[ERROR] Fail to allocate memory");
+               return VC_DB_ERROR_OUT_OF_MEMORY;
+       }
        if (0 == strncasecmp(command, fixed, strlen(fixed))) {
                strncpy(temp, command + strlen(fixed) + 1, strlen(command) - strlen(fixed) - 1);
                SLOG(LOG_WARN, vc_db_tag(), "@@@");
@@ -1610,17 +1614,21 @@ static int __vc_db_generate_command(vc_cmd_s* cmd, char** fixed_cmd, GSList** cm
                // extract fixed command and remove space in front of  '{'
                char *tok_ptr = NULL;
                temp = strtok_r(src_cmd, "{", &tok_ptr);
-               __vc_db_remove_space(&temp);
-               *fixed_cmd = strdup(temp);
-
-               // merge command with fixed and vfixed
-               while (NULL != (temp = strtok_r(NULL, "|", &tok_ptr))) {
+               if (NULL != temp) {
                        __vc_db_remove_space(&temp);
+                       *fixed_cmd = strdup(temp);
 
-                       snprintf(merge_cmd, 256, "%s %s", *fixed_cmd, temp);
-                       dst_cmd = strdup(merge_cmd);
-                       temp_list = g_slist_append(temp_list, dst_cmd);
-                       SLOG(LOG_ERROR, vc_db_tag(), "New generated cmd: %s", dst_cmd);
+                       // merge command with fixed and vfixed
+                       while (NULL != (temp = strtok_r(NULL, "|", &tok_ptr))) {
+                               __vc_db_remove_space(&temp);
+
+                               snprintf(merge_cmd, 256, "%s %s", *fixed_cmd, temp);
+                               dst_cmd = strdup(merge_cmd);
+                               temp_list = g_slist_append(temp_list, dst_cmd);
+                               SLOG(LOG_ERROR, vc_db_tag(), "New generated cmd: %s", dst_cmd);
+                       }
+               } else {
+                       *fixed_cmd = strdup(cmd->command);
                }
        } else if (VC_CMD_FORMAT_VFIXED_AND_FIXED == cmd->format) {
                // check string validation
index 5d37055..250e5a0 100755 (executable)
@@ -1049,6 +1049,20 @@ static Eina_Bool listener_event_callback(void* data, Ecore_Fd_Handler *fd_handle
        return ECORE_CALLBACK_RENEW;
 }
 
+static void __vcd_dbus_connection_free()
+{
+       if (NULL != g_conn_listener) {
+               dbus_connection_close(g_conn_listener);
+               dbus_connection_unref(g_conn_listener);
+               g_conn_listener = NULL;
+       }
+       if (NULL != g_conn_sender) {
+               dbus_connection_close(g_conn_sender);
+               dbus_connection_unref(g_conn_sender);
+               g_conn_sender = NULL;
+       }
+}
+
 int vcd_dbus_open_connection()
 {
        DBusError err;
@@ -1081,6 +1095,7 @@ int vcd_dbus_open_connection()
 
        if (NULL == g_conn_listener) {
                SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail to get dbus connection");
+               __vcd_dbus_connection_free();
                return VCD_ERROR_OPERATION_FAILED;
        }
 
@@ -1092,12 +1107,14 @@ int vcd_dbus_open_connection()
        if (DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER != ret) {
                printf("Fail to be primary owner in dbus request.");
                SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail to be primary owner");
+               __vcd_dbus_connection_free();
                return VCD_ERROR_OPERATION_FAILED;
        }
 
        if (dbus_error_is_set(&err)) {
                SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] dbus_bus_request_name() : %s", err.message);
                dbus_error_free(&err);
+               __vcd_dbus_connection_free();
                return VCD_ERROR_OPERATION_FAILED;
        }
 
@@ -1111,16 +1128,25 @@ int vcd_dbus_open_connection()
        if (dbus_error_is_set(&err)) {
                SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] dbus_bus_add_match() : %s", err.message);
                dbus_error_free(&err);
+               __vcd_dbus_connection_free();
                return VCD_ERROR_OPERATION_FAILED;
        }
 
        int fd = 0;
-       dbus_connection_get_unix_fd(g_conn_listener, &fd);
+       if (1 != dbus_connection_get_unix_fd(g_conn_listener, &fd)) {
+               SLOG(LOG_ERROR, TAG_VCD, "fail to get fd from dbus ");
+               __vcd_dbus_connection_free();
+               return VCD_ERROR_OPERATION_FAILED;
+       } else {
+               SLOG(LOG_DEBUG, TAG_VCD, "Get fd from dbus : %d", fd);
+       }
+
 
        g_dbus_fd_handler = ecore_main_fd_handler_add(fd, ECORE_FD_READ, (Ecore_Fd_Cb)listener_event_callback, g_conn_listener, NULL, NULL);
 
        if (NULL == g_dbus_fd_handler) {
                SLOG(LOG_ERROR, TAG_VCD, "[Dbus ERROR] Fail to get fd handler");
+               __vcd_dbus_connection_free();
                return VCD_ERROR_OPERATION_FAILED;
        }
 
@@ -1144,13 +1170,7 @@ int vcd_dbus_close_connection()
                dbus_error_free(&err);
        }
 
-       dbus_connection_close(g_conn_listener);
-       dbus_connection_unref(g_conn_listener);
-       dbus_connection_close(g_conn_sender);
-       dbus_connection_unref(g_conn_sender);
-
-       g_conn_listener = NULL;
-       g_conn_sender = NULL;
+       __vcd_dbus_connection_free();
 
        return 0;
 }
index eea8f50..5d1f689 100644 (file)
@@ -574,7 +574,7 @@ int vcd_recorder_set(const char* audio_type, vce_audio_type_e type, int rate, in
                        audio_in_destroy(g_audio_h);
 
                        audio_channel_e audio_ch;
-                       audio_sample_type_e audio_type;
+                       audio_sample_type_e audio_sample_type;
 
                        switch (channel) {
                        case 1: audio_ch = AUDIO_CHANNEL_MONO;          break;
@@ -586,15 +586,15 @@ int vcd_recorder_set(const char* audio_type, vce_audio_type_e type, int rate, in
                        }
 
                        switch (type) {
-                       case VCE_AUDIO_TYPE_PCM_S16_LE: audio_type = AUDIO_SAMPLE_TYPE_S16_LE;  break;
-                       case VCE_AUDIO_TYPE_PCM_U8:     audio_type = AUDIO_SAMPLE_TYPE_U8;      break;
+                       case VCE_AUDIO_TYPE_PCM_S16_LE: audio_sample_type = AUDIO_SAMPLE_TYPE_S16_LE;   break;
+                       case VCE_AUDIO_TYPE_PCM_U8:     audio_sample_type = AUDIO_SAMPLE_TYPE_U8;       break;
                        default:
                                SLOG(LOG_ERROR, TAG_VCD, "[Recorder ERROR] Invalid Audio Type");
                                return VCD_ERROR_OPERATION_FAILED;
                                break;
                        }
 
-                       ret = audio_in_create(rate, audio_ch, audio_type, &g_audio_h);
+                       ret = audio_in_create(rate, audio_ch, audio_sample_type, &g_audio_h);
                        if (AUDIO_IO_ERROR_NONE != ret) {
                                SLOG(LOG_ERROR, TAG_VCD, "[Recorder ERROR] Fail to create audio handle : %d", ret);
                                g_is_valid_audio_in = false;