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;
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);
LIST_DEL(&h->link);
free(h);
+
+ pthread_mutex_unlock(&private_client->lock);
+
+ return;
}
pthread_mutex_unlock(&private_client->lock);