client: Fix missing lock 91/307191/2
authorChangyeon Lee <cyeon.lee@samsung.com>
Wed, 6 Mar 2024 03:33:16 +0000 (12:33 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Wed, 6 Mar 2024 08:17:31 +0000 (17:17 +0900)
Change-Id: Iacef5f2e65b6dee0c7eb41bb8daa8a1df6dae433

client/tdm_client.c

index 8bfbf84..2bc0cdc 100644 (file)
@@ -2322,16 +2322,17 @@ tdm_client_voutput_commit_done(tdm_client_voutput *voutput)
        TDM_RETURN_VAL_IF_FAIL(voutput != NULL, TDM_ERROR_INVALID_PARAMETER);
 
        private_voutput = (tdm_private_client_voutput *)voutput;
-       TDM_RETURN_VAL_IF_FAIL(private_voutput->attach_buffer != NULL, TDM_ERROR_NONE);
 
        private_client = private_voutput->private_client;
 
        pthread_mutex_lock(&private_client->lock);
 
-       buffer = (tbm_surface_h)wl_buffer_get_user_data(private_voutput->attach_buffer->wl_buffer);
-       tbm_surface_internal_unref(buffer);
-       private_voutput->attach_buffer = NULL;
-       wl_tdm_voutput_commit_done(private_voutput->wl_voutput);
+       if (private_voutput->attach_buffer) {
+               buffer = (tbm_surface_h)wl_buffer_get_user_data(private_voutput->attach_buffer->wl_buffer);
+               tbm_surface_internal_unref(buffer);
+               private_voutput->attach_buffer = NULL;
+               wl_tdm_voutput_commit_done(private_voutput->wl_voutput);
+       }
 
        pthread_mutex_unlock(&private_client->lock);