tbm_fd = tbm_drm_helper_get_fd();
ASSERT_TRUE(tdm_display_get_output_count(dpy, &output_count) == TDM_ERROR_NONE);
- tdm_layer_output_idx = (int *) calloc(output_count, sizeof(int));
- ASSERT_FALSE(NULL == tdm_layer_output_idx);
-
preferred_mode_array = (const tdm_output_mode **)calloc(output_count, sizeof(tdm_output_mode *));
ASSERT_FALSE(NULL == preferred_mode_array);
+ if (!preferred_mode_array)
+ return;
for (int i = 0; i < output_count; i++) {
tdm_output *output = tdm_display_get_output(dpy, i, &error);
ASSERT_FALSE(NULL == tdm_layer_array);
+ tdm_layer_output_idx = (int *) realloc(tdm_layer_output_idx,
+ (layer_count + temp_layer_count)*sizeof(int));
+ ASSERT_FALSE(NULL == tdm_layer_output_idx);
+
for (int k = layer_count; k < (layer_count + temp_layer_count); k++) {
tdm_layer_array[k] = tdm_output_get_layer(output, k, &error);
tdm_layer_output_idx[k] = i;