projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Force usage of assert() condition when NDEBUG is defined
[lttng-tools.git]
/
src
/
common
/
compat
/
directory-handle.c
diff --git
a/src/common/compat/directory-handle.c
b/src/common/compat/directory-handle.c
index 9d2fed4637e453a67358049caaf6208505580c47..ed7f46a1856d40b704742754dad335cc5dffe9a9 100644
(file)
--- a/
src/common/compat/directory-handle.c
+++ b/
src/common/compat/directory-handle.c
@@
-13,7
+13,6
@@
#include <lttng/constant.h>
#include <common/dynamic-array.h>
#include <lttng/constant.h>
#include <common/dynamic-array.h>
-#include <assert.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@
-78,7
+77,7
@@
void lttng_directory_handle_invalidate(struct lttng_directory_handle *handle);
static
void lttng_directory_handle_release(struct urcu_ref *ref);
static
void lttng_directory_handle_release(struct urcu_ref *ref);
-#ifdef
COMPAT
_DIRFD
+#ifdef
HAVE
_DIRFD
/*
* Special inode number reserved to represent the "current working directory".
/*
* Special inode number reserved to represent the "current working directory".
@@
-164,6
+163,8
@@
struct lttng_directory_handle *lttng_directory_handle_create_from_dirfd(
if (ret) {
PERROR("Failed to fstat directory file descriptor %i", dirfd);
lttng_directory_handle_release(&handle->ref);
if (ret) {
PERROR("Failed to fstat directory file descriptor %i", dirfd);
lttng_directory_handle_release(&handle->ref);
+ handle = NULL;
+ goto end;
}
} else {
handle->directory_inode = RESERVED_AT_FDCWD_INO;
}
} else {
handle->directory_inode = RESERVED_AT_FDCWD_INO;
@@
-353,7
+354,12
@@
static
int lttng_directory_handle_rmdir(
const struct lttng_directory_handle *handle, const char *name)
{
int lttng_directory_handle_rmdir(
const struct lttng_directory_handle *handle, const char *name)
{
- return unlinkat(handle->dirfd, name, AT_REMOVEDIR);
+ int ret = unlinkat(handle->dirfd, name, AT_REMOVEDIR);
+ if (ret) {
+ PERROR("Failed to remove directory `%s`", name);
+ }
+
+ return ret;
}
static
}
static
@@
-371,7
+377,7
@@
int _run_as_rmdir_recursive(
return run_as_rmdirat_recursive(handle->dirfd, name, uid, gid, flags);
}
return run_as_rmdirat_recursive(handle->dirfd, name, uid, gid, flags);
}
-#else /*
COMPAT
_DIRFD */
+#else /*
HAVE
_DIRFD */
static
int get_full_path(const struct lttng_directory_handle *handle,
static
int get_full_path(const struct lttng_directory_handle *handle,
@@
-478,7
+484,7
@@
struct lttng_directory_handle *lttng_directory_handle_create_from_handle(
struct lttng_directory_handle *new_handle = NULL;
char *new_path = NULL;
struct lttng_directory_handle *new_handle = NULL;
char *new_path = NULL;
-
assert
(ref_handle && ref_handle->base_path);
+
LTTNG_ASSERT
(ref_handle && ref_handle->base_path);
ret = lttng_directory_handle_stat(ref_handle, path, &stat_buf);
if (ret == -1) {
ret = lttng_directory_handle_stat(ref_handle, path, &stat_buf);
if (ret == -1) {
@@
-554,7
+560,7
@@
LTTNG_HIDDEN
struct lttng_directory_handle *lttng_directory_handle_create_from_dirfd(
int dirfd)
{
struct lttng_directory_handle *lttng_directory_handle_create_from_dirfd(
int dirfd)
{
-
assert
(dirfd == AT_FDCWD);
+
LTTNG_ASSERT
(dirfd == AT_FDCWD);
return lttng_directory_handle_create(NULL);
}
return lttng_directory_handle_create(NULL);
}
@@
-884,7
+890,7
@@
end:
return ret;
}
return ret;
}
-#endif /*
COMPAT
_DIRFD */
+#endif /*
HAVE
_DIRFD */
/* Common implementation. */
/* Common implementation. */
@@
-936,7
+942,7
@@
int create_directory_recursive(const struct lttng_directory_handle *handle,
size_t len;
int ret;
size_t len;
int ret;
-
assert
(path);
+
LTTNG_ASSERT
(path);
ret = lttng_strncpy(tmp, path, sizeof(tmp));
if (ret) {
ret = lttng_strncpy(tmp, path, sizeof(tmp));
if (ret) {
@@
-995,7
+1001,7
@@
void lttng_directory_handle_put(struct lttng_directory_handle *handle)
if (!handle) {
return;
}
if (!handle) {
return;
}
-
assert
(handle->ref.refcount);
+
LTTNG_ASSERT
(handle->ref.refcount);
urcu_ref_put(&handle->ref, lttng_directory_handle_release);
}
urcu_ref_put(&handle->ref, lttng_directory_handle_release);
}
@@
-1012,8
+1018,9
@@
int lttng_directory_handle_create_subdirectory_as_user(
ret = create_directory_check_exists(handle,
subdirectory, mode);
} else {
ret = create_directory_check_exists(handle,
subdirectory, mode);
} else {
- ret = _run_as_mkdir(handle, subdirectory,
- mode, creds->uid, creds->gid);
+ ret = _run_as_mkdir(handle, subdirectory, mode,
+ lttng_credentials_get_uid(creds),
+ lttng_credentials_get_gid(creds));
}
return ret;
}
return ret;
@@
-1033,7
+1040,7
@@
int lttng_directory_handle_create_subdirectory_recursive_as_user(
subdirectory_path, mode);
} else {
ret = _run_as_mkdir_recursive(handle, subdirectory_path,
subdirectory_path, mode);
} else {
ret = _run_as_mkdir_recursive(handle, subdirectory_path,
- mode,
creds->uid, creds->gid
);
+ mode,
lttng_credentials_get_uid(creds), lttng_credentials_get_gid(creds)
);
}
return ret;
}
return ret;
@@
-1074,7
+1081,7
@@
int lttng_directory_handle_open_file_as_user(
mode);
} else {
ret = _run_as_open(handle, filename, flags, mode,
mode);
} else {
ret = _run_as_open(handle, filename, flags, mode,
-
creds->uid, creds->gid
);
+
lttng_credentials_get_uid(creds), lttng_credentials_get_gid(creds)
);
}
return ret;
}
}
return ret;
}
@@
-1101,7
+1108,7
@@
int lttng_directory_handle_unlink_file_as_user(
/* Run as current user. */
ret = lttng_directory_handle_unlink(handle, filename);
} else {
/* Run as current user. */
ret = lttng_directory_handle_unlink(handle, filename);
} else {
- ret = _run_as_unlink(handle, filename,
creds->uid, creds->gid
);
+ ret = _run_as_unlink(handle, filename,
lttng_credentials_get_uid(creds), lttng_credentials_get_gid(creds)
);
}
return ret;
}
}
return ret;
}
@@
-1142,7
+1149,7
@@
int lttng_directory_handle_rename_as_user(
old_name, new_handle, new_name);
} else {
ret = _run_as_rename(old_handle, old_name, new_handle,
old_name, new_handle, new_name);
} else {
ret = _run_as_rename(old_handle, old_name, new_handle,
- new_name,
creds->uid, creds->gid
);
+ new_name,
lttng_credentials_get_uid(creds), lttng_credentials_get_gid(creds)
);
}
return ret;
}
}
return ret;
}
@@
-1168,7
+1175,7
@@
int lttng_directory_handle_remove_subdirectory_as_user(
/* Run as current user. */
ret = lttng_directory_handle_rmdir(handle, name);
} else {
/* Run as current user. */
ret = lttng_directory_handle_rmdir(handle, name);
} else {
- ret = _run_as_rmdir(handle, name,
creds->uid, creds->gid
);
+ ret = _run_as_rmdir(handle, name,
lttng_credentials_get_uid(creds), lttng_credentials_get_gid(creds)
);
}
return ret;
}
}
return ret;
}
@@
-1254,10
+1261,10
@@
int remove_directory_recursive(const struct lttng_directory_handle *handle,
lttng_dynamic_array_get_element(
&frames, current_frame_idx);
lttng_dynamic_array_get_element(
&frames, current_frame_idx);
-
assert
(current_frame->dir);
+
LTTNG_ASSERT
(current_frame->dir);
ret = lttng_dynamic_buffer_set_size(
¤t_path, current_frame->path_size);
ret = lttng_dynamic_buffer_set_size(
¤t_path, current_frame->path_size);
-
assert
(!ret);
+
LTTNG_ASSERT
(!ret);
current_path.data[current_path.size - 1] = '\0';
while ((entry = readdir(current_frame->dir))) {
current_path.data[current_path.size - 1] = '\0';
while ((entry = readdir(current_frame->dir))) {
@@
-1271,7
+1278,7
@@
int remove_directory_recursive(const struct lttng_directory_handle *handle,
/* Set current_path to the entry's path. */
ret = lttng_dynamic_buffer_set_size(
¤t_path, current_path.size - 1);
/* Set current_path to the entry's path. */
ret = lttng_dynamic_buffer_set_size(
¤t_path, current_path.size - 1);
-
assert
(!ret);
+
LTTNG_ASSERT
(!ret);
ret = lttng_dynamic_buffer_append(¤t_path,
&separator, sizeof(separator));
if (ret) {
ret = lttng_dynamic_buffer_append(¤t_path,
&separator, sizeof(separator));
if (ret) {
@@
-1362,7
+1369,7
@@
int remove_directory_recursive(const struct lttng_directory_handle *handle,
parent_frame = lttng_dynamic_array_get_element(&frames,
current_frame->parent_frame_idx);
parent_frame = lttng_dynamic_array_get_element(&frames,
current_frame->parent_frame_idx);
-
assert
(parent_frame);
+
LTTNG_ASSERT
(parent_frame);
parent_frame->empty = false;
}
ret = lttng_dynamic_array_remove_element(
parent_frame->empty = false;
}
ret = lttng_dynamic_array_remove_element(
@@
-1402,8
+1409,8
@@
int lttng_directory_handle_remove_subdirectory_recursive_as_user(
/* Run as current user. */
ret = remove_directory_recursive(handle, name, flags);
} else {
/* Run as current user. */
ret = remove_directory_recursive(handle, name, flags);
} else {
- ret = _run_as_rmdir_recursive(handle, name,
creds->uid
,
-
creds->gid
, flags);
+ ret = _run_as_rmdir_recursive(handle, name,
lttng_credentials_get_uid(creds)
,
+
lttng_credentials_get_gid(creds)
, flags);
}
return ret;
}
}
return ret;
}
This page took
0.027285 seconds
and
4
git commands to generate.