The expression will not have its intended effect.
In lttng_userspace_probe_location_function_serialize: Comparing a
pointer against NULL using an operator such as < or >=.
`binary_fd` is now a fd_handle instance rather than a "raw" fd. All
instances of `binary_fd` are renamed to `binary_fd_handle` to prevent
such errors in the future.
Reported-by: Coverity Scan
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I57f1a3d5a01029084889a183881fac6f1fe9b6d9
* early on to keep the backing inode valid over the course of the
* intrumentation and use. It prevents deletion and reuse races.
*/
* early on to keep the backing inode valid over the course of the
* intrumentation and use. It prevents deletion and reuse races.
*/
- struct fd_handle *binary_fd;
+ struct fd_handle *binary_fd_handle;
enum lttng_userspace_probe_location_function_instrumentation_type instrumentation_type;
};
enum lttng_userspace_probe_location_function_instrumentation_type instrumentation_type;
};
* early on to keep the backing inode valid over the course of the
* intrumentation and use. It prevents deletion and reuse races.
*/
* early on to keep the backing inode valid over the course of the
* intrumentation and use. It prevents deletion and reuse races.
*/
- struct fd_handle *binary_fd;
+ struct fd_handle *binary_fd_handle;
#include <sys/unistd.h>
static
#include <sys/unistd.h>
static
-int lttng_userspace_probe_location_function_set_binary_fd(
+int lttng_userspace_probe_location_function_set_binary_fd_handle(
struct lttng_userspace_probe_location *location,
struct lttng_userspace_probe_location *location,
- struct fd_handle *binary_fd);
+ struct fd_handle *binary_fd_handle);
-int lttng_userspace_probe_location_tracepoint_set_binary_fd(
+int lttng_userspace_probe_location_tracepoint_set_binary_fd_handle(
struct lttng_userspace_probe_location *location,
struct lttng_userspace_probe_location *location,
- struct fd_handle *binary_fd);
+ struct fd_handle *binary_fd_handle);
enum lttng_userspace_probe_location_lookup_method_type
lttng_userspace_probe_location_lookup_method_get_type(
enum lttng_userspace_probe_location_lookup_method_type
lttng_userspace_probe_location_lookup_method_get_type(
free(location_function->function_name);
free(location_function->binary_path);
free(location_function->function_name);
free(location_function->binary_path);
- fd_handle_put(location_function->binary_fd);
+ fd_handle_put(location_function->binary_fd_handle);
free(location_tracepoint->probe_name);
free(location_tracepoint->provider_name);
free(location_tracepoint->binary_path);
free(location_tracepoint->probe_name);
free(location_tracepoint->provider_name);
free(location_tracepoint->binary_path);
- fd_handle_put(location_tracepoint->binary_fd);
+ fd_handle_put(location_tracepoint->binary_fd_handle);
- is_equal = fd_is_equal(a->binary_fd ? fd_handle_get_fd(a->binary_fd) : -1,
- b->binary_fd ? fd_handle_get_fd(b->binary_fd) : -1);
+ is_equal = fd_is_equal(a->binary_fd_handle ? fd_handle_get_fd(a->binary_fd_handle) : -1,
+ b->binary_fd_handle ? fd_handle_get_fd(b->binary_fd_handle) : -1);
location->function_name = function_name_copy;
location->binary_path = binary_path_copy;
location->function_name = function_name_copy;
location->binary_path = binary_path_copy;
- location->binary_fd = binary_fd_handle;
+ location->binary_fd_handle = binary_fd_handle;
binary_fd_handle = NULL;
location->instrumentation_type =
LTTNG_USERSPACE_PROBE_LOCATION_FUNCTION_INSTRUMENTATION_TYPE_ENTRY;
binary_fd_handle = NULL;
location->instrumentation_type =
LTTNG_USERSPACE_PROBE_LOCATION_FUNCTION_INSTRUMENTATION_TYPE_ENTRY;
- is_equal = fd_is_equal(a->binary_fd ? fd_handle_get_fd(a->binary_fd) : -1,
- b->binary_fd ? fd_handle_get_fd(b->binary_fd) : -1);
+ is_equal = fd_is_equal(a->binary_fd_handle ? fd_handle_get_fd(a->binary_fd_handle) : -1,
+ b->binary_fd_handle ? fd_handle_get_fd(b->binary_fd_handle) : -1);
location->probe_name = probe_name_copy;
location->provider_name = provider_name_copy;
location->binary_path = binary_path_copy;
location->probe_name = probe_name_copy;
location->provider_name = provider_name_copy;
location->binary_path = binary_path_copy;
- location->binary_fd = binary_fd_handle;
+ location->binary_fd_handle = binary_fd_handle;
binary_fd_handle = NULL;
ret = &location->parent;
binary_fd_handle = NULL;
ret = &location->parent;
}
/* Set the duplicated fd to the new probe_location */
}
/* Set the duplicated fd to the new probe_location */
- if (lttng_userspace_probe_location_function_set_binary_fd(new_location,
- function_location->binary_fd) < 0) {
+ if (lttng_userspace_probe_location_function_set_binary_fd_handle(new_location,
+ function_location->binary_fd_handle) < 0) {
goto destroy_probe_location;
}
goto destroy_probe_location;
}
}
/* Set the duplicated fd to the new probe_location */
}
/* Set the duplicated fd to the new probe_location */
- if (lttng_userspace_probe_location_tracepoint_set_binary_fd(new_location,
- tracepoint_location->binary_fd) < 0) {
+ if (lttng_userspace_probe_location_tracepoint_set_binary_fd_handle(new_location,
+ tracepoint_location->binary_fd_handle) < 0) {
goto destroy_probe_location;
}
goto destroy_probe_location;
}
function_location = container_of(location,
struct lttng_userspace_probe_location_function, parent);
function_location = container_of(location,
struct lttng_userspace_probe_location_function, parent);
- ret = function_location->binary_fd ?
- fd_handle_get_fd(function_location->binary_fd) : -1;
+ ret = function_location->binary_fd_handle ?
+ fd_handle_get_fd(function_location->binary_fd_handle) : -1;
tracepoint_location = container_of(location,
struct lttng_userspace_probe_location_tracepoint, parent);
tracepoint_location = container_of(location,
struct lttng_userspace_probe_location_tracepoint, parent);
- ret = tracepoint_location->binary_fd ?
- fd_handle_get_fd(tracepoint_location->binary_fd) : -1;
+ ret = tracepoint_location->binary_fd_handle ?
+ fd_handle_get_fd(tracepoint_location->binary_fd_handle) : -1;
- if (payload && location_function->binary_fd < 0) {
+ if (payload && !location_function->binary_fd_handle) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
ret = -LTTNG_ERR_INVALID;
goto end;
}
goto end;
}
ret = lttng_payload_push_fd_handle(
goto end;
}
ret = lttng_payload_push_fd_handle(
- payload, location_function->binary_fd);
+ payload, location_function->binary_fd_handle);
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
- if (payload && location_tracepoint->binary_fd < 0) {
+ if (payload && !location_tracepoint->binary_fd_handle) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
ret = -LTTNG_ERR_INVALID;
goto end;
}
goto end;
}
ret = lttng_payload_push_fd_handle(
goto end;
}
ret = lttng_payload_push_fd_handle(
- payload, location_tracepoint->binary_fd);
+ payload, location_tracepoint->binary_fd_handle);
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
char *function_name = NULL, *binary_path = NULL;
int ret = 0;
size_t expected_size;
char *function_name = NULL, *binary_path = NULL;
int ret = 0;
size_t expected_size;
- struct fd_handle *binary_fd = lttng_payload_view_pop_fd_handle(view);
+ struct fd_handle *binary_fd_handle = lttng_payload_view_pop_fd_handle(view);
- ret = lttng_userspace_probe_location_function_set_binary_fd(
- *location, binary_fd);
+ ret = lttng_userspace_probe_location_function_set_binary_fd_handle(
+ *location, binary_fd_handle);
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
ret = (int) expected_size;
end:
ret = (int) expected_size;
end:
- fd_handle_put(binary_fd);
+ fd_handle_put(binary_fd_handle);
free(function_name);
free(binary_path);
return ret;
free(function_name);
free(binary_path);
return ret;
char *probe_name = NULL, *provider_name = NULL, *binary_path = NULL;
int ret = 0;
size_t expected_size;
char *probe_name = NULL, *provider_name = NULL, *binary_path = NULL;
int ret = 0;
size_t expected_size;
- struct fd_handle *binary_fd = lttng_payload_view_pop_fd_handle(view);
+ struct fd_handle *binary_fd_handle = lttng_payload_view_pop_fd_handle(view);
+ if (!binary_fd_handle) {
ret = -LTTNG_ERR_INVALID;
goto end;
}
ret = -LTTNG_ERR_INVALID;
goto end;
}
- ret = lttng_userspace_probe_location_tracepoint_set_binary_fd(
- *location, binary_fd);
+ ret = lttng_userspace_probe_location_tracepoint_set_binary_fd_handle(
+ *location, binary_fd_handle);
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
if (ret) {
ret = -LTTNG_ERR_INVALID;
goto end;
ret = (int) expected_size;
end:
ret = (int) expected_size;
end:
- fd_handle_put(binary_fd);
+ fd_handle_put(binary_fd_handle);
free(probe_name);
free(provider_name);
free(binary_path);
free(probe_name);
free(provider_name);
free(binary_path);
-int lttng_userspace_probe_location_function_set_binary_fd(
+int lttng_userspace_probe_location_function_set_binary_fd_handle(
struct lttng_userspace_probe_location *location,
struct fd_handle *binary_fd)
{
struct lttng_userspace_probe_location *location,
struct fd_handle *binary_fd)
{
function_location = container_of(location,
struct lttng_userspace_probe_location_function, parent);
function_location = container_of(location,
struct lttng_userspace_probe_location_function, parent);
- fd_handle_put(function_location->binary_fd);
+ fd_handle_put(function_location->binary_fd_handle);
fd_handle_get(binary_fd);
fd_handle_get(binary_fd);
- function_location->binary_fd = binary_fd;
+ function_location->binary_fd_handle = binary_fd;
-int lttng_userspace_probe_location_tracepoint_set_binary_fd(
+int lttng_userspace_probe_location_tracepoint_set_binary_fd_handle(
struct lttng_userspace_probe_location *location,
struct fd_handle *binary_fd)
{
struct lttng_userspace_probe_location *location,
struct fd_handle *binary_fd)
{
tracepoint_location = container_of(location,
struct lttng_userspace_probe_location_tracepoint, parent);
tracepoint_location = container_of(location,
struct lttng_userspace_probe_location_tracepoint, parent);
- fd_handle_put(tracepoint_location->binary_fd);
+ fd_handle_put(tracepoint_location->binary_fd_handle);
fd_handle_get(binary_fd);
fd_handle_get(binary_fd);
- tracepoint_location->binary_fd = binary_fd;
+ tracepoint_location->binary_fd_handle = binary_fd;
flat_probe.function_name = flat_probe_start + sizeof(flat_probe);
flat_probe.binary_path = flat_probe.function_name + function_name_len;
flat_probe.function_name = flat_probe_start + sizeof(flat_probe);
flat_probe.binary_path = flat_probe.function_name + function_name_len;
- flat_probe.binary_fd = NULL;
+ flat_probe.binary_fd_handle = NULL;
ret = lttng_dynamic_buffer_append(buffer, &flat_probe,
sizeof(flat_probe));
if (ret) {
ret = lttng_dynamic_buffer_append(buffer, &flat_probe,
sizeof(flat_probe));
if (ret) {
flat_probe.probe_name = flat_probe_start + sizeof(flat_probe);
flat_probe.provider_name = flat_probe.probe_name + probe_name_len;
flat_probe.binary_path = flat_probe.provider_name + provider_name_len;
flat_probe.probe_name = flat_probe_start + sizeof(flat_probe);
flat_probe.provider_name = flat_probe.probe_name + probe_name_len;
flat_probe.binary_path = flat_probe.provider_name + provider_name_len;
- flat_probe.binary_fd = NULL;
+ flat_probe.binary_fd_handle = NULL;
ret = lttng_dynamic_buffer_append(buffer, &flat_probe, sizeof(flat_probe));
if (ret) {
goto end;
ret = lttng_dynamic_buffer_append(buffer, &flat_probe, sizeof(flat_probe));
if (ret) {
goto end;