fix for meta data transfer 33/260633/2
authorjunbong.yu <junbong.yu@samsung.com>
Wed, 30 Jun 2021 05:05:48 +0000 (14:05 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Fri, 2 Jul 2021 03:19:54 +0000 (12:19 +0900)
Change-Id: I5894cc75e704348c8eb8f879757937c2f5c83042

src/wayland-tbm-server.c

index e877b23..81e0503 100644 (file)
@@ -455,10 +455,18 @@ _wayland_tbm_server_impl_create_buffer_with_fd(struct wl_client *client,
                goto done;
        }
 
+       buffer_data->meta_data = calloc(num_meta_data, sizeof(unsigned int));
+       if (!buffer_data->meta_data) {
+               WL_TBM_LOG_E("fail to alloc meta_data.");
+               goto done;
+       }
+
        buffer_data->num_fds = num_buf;
        for (i = 0; i < num_buf; i++) {
                buffer_data->fds[i] = names[i];
        }
+
+       buffer_data->num_meta_data = num_meta_data;
        for (i = 0; i < num_meta_data; i++) {
                buffer_data->meta_data[i] = *WL_TBM_ARRAY_NTH_DATA(meta_data, uint32_t, i);
        }
@@ -499,6 +507,7 @@ _wayland_tbm_server_impl_create_buffer_with_fd(struct wl_client *client,
 
 done:
        if (buffer_data) {
+               free(buffer_data->meta_data);
                free(buffer_data->fds);
                free(buffer_data);
        }