TDM_RETURN_IF_FAIL(vblank_info != NULL);
+ LIST_DEL(&vblank_info->link);
+
if (vblank_info->vblank)
tdm_vblank_destroy(vblank_info->vblank);
destroy_wait(w);
}
- LIST_DEL(&vblank_info->link);
free(vblank_info);
}
TDM_RETURN_IF_FAIL(output_info != NULL);
+ LIST_DEL(&output_info->link);
+
tdm_output_remove_change_handler(output_info->output,
_tdm_server_cb_output_change, output_info);
wl_resource_destroy(v->resource);
}
- LIST_DEL(&output_info->link);
free(output_info);
}
_tdm_socket_init(tdm_private_loop *private_loop)
{
const char *dir = NULL;
- char socket_path[128];
+ char socket_path[TDM_NAME_LEN * 2];
int ret = -1;
uid_t uid;
gid_t gid;
return;
}
- snprintf(socket_path, sizeof(socket_path), "%s/%s", dir, "tdm-socket");
+ strncpy(socket_path, dir, TDM_NAME_LEN - 1);
+ socket_path[TDM_NAME_LEN - 1] = '\0';
+
+ strncat(socket_path, "/tdm-socket", 11);
+ socket_path[TDM_NAME_LEN + 10] = '\0';
ret = chmod(socket_path, 509);
if (ret < 0) {