struct dirent *dirent;
struct dirent *diriter;
size_t dirent_len;
+ char *respath, *rescolpath;
td->flags = flags;
ret = -errno;
goto error_dirfd;
}
- strncpy(td->collection_path, collection_path, PATH_MAX);
- td->collection_path[PATH_MAX - 1] = '\0';
- strncpy(td->path, path, PATH_MAX);
- td->path[PATH_MAX - 1] = '\0';
+ rescolpath = realpath(collection_path, td->collection_path);
+ if (!rescolpath) {
+ fprintf(stdout, "[error] collection path resolution failure\n");
+ return -EINVAL;
+ }
+ respath = realpath(path, td->path);
+ if (!respath) {
+ fprintf(stdout, "[error] path resolution failure\n");
+ return -EINVAL;
+ }
init_domain_name(td);
init_proc_name(td);
init_vpid(td);