X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Futils.c;h=a91ede65c84af5d5c1d01797dc5766ee7e16057b;hb=658f12fa973b58f324b6f018672cc03222cfc7b4;hp=aada37fe707d156bc0a22425e2c0ad04a291b81e;hpb=28ab59d0baef178a8629ec9fb517ba75efb46ea8;p=lttng-tools.git diff --git a/src/common/utils.c b/src/common/utils.c index aada37fe7..a91ede65c 100644 --- a/src/common/utils.c +++ b/src/common/utils.c @@ -679,16 +679,20 @@ int utils_mkdir(const char *path, mode_t mode, int uid, int gid) { int ret; struct lttng_directory_handle handle; - struct lttng_credentials creds = { + const struct lttng_credentials creds = { .uid = (uid_t) uid, .gid = (gid_t) gid, }; - (void) lttng_directory_handle_init(&handle, NULL); + ret = lttng_directory_handle_init(&handle, NULL); + if (ret) { + goto end; + } ret = lttng_directory_handle_create_subdirectory_as_user( &handle, path, mode, (uid >= 0 || gid >= 0) ? &creds : NULL); lttng_directory_handle_fini(&handle); +end: return ret; } @@ -703,16 +707,20 @@ int utils_mkdir_recursive(const char *path, mode_t mode, int uid, int gid) { int ret; struct lttng_directory_handle handle; - struct lttng_credentials creds = { + const struct lttng_credentials creds = { .uid = (uid_t) uid, .gid = (gid_t) gid, }; - (void) lttng_directory_handle_init(&handle, NULL); + ret = lttng_directory_handle_init(&handle, NULL); + if (ret) { + goto end; + } ret = lttng_directory_handle_create_subdirectory_recursive_as_user( &handle, path, mode, (uid >= 0 || gid >= 0) ? &creds : NULL); lttng_directory_handle_fini(&handle); +end: return ret; }