projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert "Fix: sessiond: rotation trigger leak"
[lttng-tools.git]
/
src
/
common
/
userspace-probe.c
diff --git
a/src/common/userspace-probe.c
b/src/common/userspace-probe.c
index 508c9e8d4480a8a99216e7a3792a6555dd534d3f..e85c3c56fc67eea6163b5442694a1855332892ad 100644
(file)
--- a/
src/common/userspace-probe.c
+++ b/
src/common/userspace-probe.c
@@
-413,17
+413,20
@@
lttng_userspace_probe_location_function_copy(
goto error;
}
goto error;
}
- /* Duplicate the binary fd */
+ /*
+ * Duplicate the binary fd if possible. The binary fd can be -1 on
+ * listing
+ */
fd = lttng_userspace_probe_location_function_get_binary_fd(location);
fd = lttng_userspace_probe_location_function_get_binary_fd(location);
- if (fd
==
-1) {
-
ERR("Error getting file descriptor to binary"
);
- goto error;
- }
-
- new_fd = dup(fd);
-
if (new_fd == -1)
{
- PERROR("Error duplicating file descriptor to binary");
-
goto error
;
+ if (fd
>
-1) {
+
new_fd = dup(fd
);
+ if (new_fd == -1) {
+ PERROR("Error duplicating file descriptor to binary");
+ goto error;
+ }
+
} else
{
+ /* The original fd is not set. */
+
new_fd = -1
;
}
/*
}
/*
@@
-509,15
+512,15
@@
lttng_userspace_probe_location_tracepoint_copy(
/* Duplicate the binary fd */
fd = lttng_userspace_probe_location_tracepoint_get_binary_fd(location);
/* Duplicate the binary fd */
fd = lttng_userspace_probe_location_tracepoint_get_binary_fd(location);
- if (fd
==
-1) {
-
ERR("Error getting file descriptor to binary"
);
- goto error;
- }
-
- new_fd = dup(fd);
-
if (new_fd == -1)
{
- PERROR("Error duplicating file descriptor to binary");
-
goto error
;
+ if (fd
>
-1) {
+
new_fd = dup(fd
);
+ if (new_fd == -1) {
+ PERROR("Error duplicating file descriptor to binary");
+ goto error;
+ }
+
} else
{
+ /* The original fd is not set. */
+
new_fd = -1
;
}
/*
}
/*
@@
-1096,12
+1099,14
@@
int lttng_userspace_probe_location_function_create_from_buffer(
function_name = lttng_strndup(function_name_src, LTTNG_SYMBOL_NAME_LEN);
if (!function_name) {
PERROR("lttng_strndup");
function_name = lttng_strndup(function_name_src, LTTNG_SYMBOL_NAME_LEN);
if (!function_name) {
PERROR("lttng_strndup");
+ ret = -LTTNG_ERR_NOMEM;
goto end;
}
binary_path = lttng_strndup(binary_path_src, LTTNG_PATH_MAX);
if (!binary_path) {
PERROR("lttng_strndup");
goto end;
}
binary_path = lttng_strndup(binary_path_src, LTTNG_PATH_MAX);
if (!binary_path) {
PERROR("lttng_strndup");
+ ret = -LTTNG_ERR_NOMEM;
goto end;
}
goto end;
}
@@
-1169,18
+1174,21
@@
int lttng_userspace_probe_location_tracepoint_create_from_buffer(
probe_name = lttng_strndup(probe_name_src, LTTNG_SYMBOL_NAME_LEN);
if (!probe_name) {
probe_name = lttng_strndup(probe_name_src, LTTNG_SYMBOL_NAME_LEN);
if (!probe_name) {
- PERROR("lttng_strndup");
+ PERROR("Failed to allocate probe name");
+ ret = -LTTNG_ERR_INVALID;
goto end;
}
provider_name = lttng_strndup(provider_name_src, LTTNG_SYMBOL_NAME_LEN);
if (!provider_name) {
goto end;
}
provider_name = lttng_strndup(provider_name_src, LTTNG_SYMBOL_NAME_LEN);
if (!provider_name) {
- PERROR("lttng_strndup");
+ PERROR("Failed to allocate provider name");
+ ret = -LTTNG_ERR_INVALID;
goto end;
}
goto end;
}
- binary_path = lttng_strndup(binary_path_src, LTTNG_
SYMBOL_NAME_LEN
);
+ binary_path = lttng_strndup(binary_path_src, LTTNG_
PATH_MAX
);
if (!binary_path) {
if (!binary_path) {
- PERROR("lttng_strndup");
+ PERROR("Failed to allocate binary path");
+ ret = -LTTNG_ERR_INVALID;
goto end;
}
goto end;
}
This page took
0.025555 seconds
and
4
git commands to generate.