Package version up to 2.7.1
[platform/core/uifw/libtdm.git] / client / tdm_client.c
index 57f8ce3..3a2ab48 100644 (file)
@@ -2002,7 +2002,7 @@ tdm_client_voutput *
 tdm_client_create_voutput(tdm_client *client, const char *name, tdm_error *error)
 {
        tdm_private_client *private_client;
-       tdm_private_client_output *private_output;
+       tdm_private_client_output *private_output = NULL;
        tdm_private_client_voutput *private_voutput;
        struct wl_proxy *wrapper;
 
@@ -2082,7 +2082,8 @@ tdm_client_create_voutput(tdm_client *client, const char *name, tdm_error *error
        LIST_INITHEAD(&private_voutput->buffer_list);
 
        private_voutput->private_client = private_client;
-       strncpy(private_voutput->name, name, TDM_NAME_LEN);
+       strncpy(private_voutput->name, name, TDM_NAME_LEN - 1);
+       private_voutput->name[TDM_NAME_LEN - 1] = '\0';
 
        private_voutput->wl_voutput = wl_tdm_create_voutput((struct wl_tdm *)wrapper, name);
        wl_proxy_wrapper_destroy(wrapper);
@@ -2147,8 +2148,6 @@ tdm_client_voutput_destroy(tdm_client_voutput *voutput)
                LIST_FOR_EACH_ENTRY_SAFE(cb, cbb, &private_voutput->buffer_list, link) {
                        tbm_surface_h tbm_surface = NULL;
 
-                       if (!cb) continue;
-
                        LIST_DEL(&cb->link);
 
                        tbm_surface = (tbm_surface_h)wl_buffer_get_user_data(cb->wl_buffer);
@@ -2330,6 +2329,8 @@ tdm_client_voutput_remove_commit_handler(tdm_client_voutput *voutput,
                free(h);
 
                pthread_mutex_unlock(&private_client->lock);
+
+               return;
        }
 
        pthread_mutex_unlock(&private_client->lock);