projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cleanup: unused assignation on rotation error
[lttng-tools.git]
/
src
/
bin
/
lttng
/
commands
/
enable_events.c
diff --git
a/src/bin/lttng/commands/enable_events.c
b/src/bin/lttng/commands/enable_events.c
index d973c5f6e1cc3579998aead3e2fba656f96ad428..23dff2038f3ef17b1090ba63e186771f9ee5d60a 100644
(file)
--- a/
src/bin/lttng/commands/enable_events.c
+++ b/
src/bin/lttng/commands/enable_events.c
@@
-313,6
+313,13
@@
static int parse_userspace_probe_opts(struct lttng_event *ev, char *opt)
goto end;
}
goto end;
}
+ switch (ev->type) {
+ case LTTNG_EVENT_USERSPACE_PROBE:
+ break;
+ default:
+ assert(0);
+ }
+
/*
* userspace probe fields are separated by ':'.
*/
/*
* userspace probe fields are separated by ':'.
*/
@@
-383,37
+390,38
@@
static int parse_userspace_probe_opts(struct lttng_event *ev, char *opt)
unescaped_target_path = strutils_unescape_string(target_path, 0);
if (!unescaped_target_path) {
ret = -LTTNG_ERR_INVALID;
unescaped_target_path = strutils_unescape_string(target_path, 0);
if (!unescaped_target_path) {
ret = -LTTNG_ERR_INVALID;
- goto end_
string
;
+ goto end_
destroy_lookup_method
;
}
/*
* If there is not forward slash in the path. Walk the $PATH else
* expand.
*/
}
/*
* If there is not forward slash in the path. Walk the $PATH else
* expand.
*/
- if (strchr(target_path, '/') == NULL) {
+ if (strchr(
unescaped_
target_path, '/') == NULL) {
/* Walk the $PATH variable to find the targeted binary. */
real_target_path = zmalloc(LTTNG_PATH_MAX * sizeof(char));
if (!real_target_path) {
PERROR("Error allocating path buffer");
ret = CMD_ERROR;
/* Walk the $PATH variable to find the targeted binary. */
real_target_path = zmalloc(LTTNG_PATH_MAX * sizeof(char));
if (!real_target_path) {
PERROR("Error allocating path buffer");
ret = CMD_ERROR;
- goto end_
unescaped_string
;
+ goto end_
destroy_lookup_method
;
}
}
- ret = walk_command_search_path(target_path, real_target_path);
+ ret = walk_command_search_path(
unescaped_
target_path, real_target_path);
if (ret) {
ERR("Binary not found.");
ret = CMD_ERROR;
if (ret) {
ERR("Binary not found.");
ret = CMD_ERROR;
- goto end_
free_path
;
+ goto end_
destroy_lookup_method
;
}
} else {
/*
* Expand references to `/./` and `/../`. This function does not check
}
} else {
/*
* Expand references to `/./` and `/../`. This function does not check
- * if the file exists.
+ * if the file exists. This call returns an allocated buffer on
+ * success.
*/
*/
- real_target_path = utils_expand_path_keep_symlink(target_path);
+ real_target_path = utils_expand_path_keep_symlink(
unescaped_
target_path);
if (!real_target_path) {
ERR("Error expanding the path to binary.");
ret = CMD_ERROR;
if (!real_target_path) {
ERR("Error expanding the path to binary.");
ret = CMD_ERROR;
- goto end_
free_path
;
+ goto end_
destroy_lookup_method
;
}
/*
}
/*
@@
-423,7
+431,7
@@
static int parse_userspace_probe_opts(struct lttng_event *ev, char *opt)
ret = access(real_target_path, F_OK);
if (ret) {
ret = CMD_ERROR;
ret = access(real_target_path, F_OK);
if (ret) {
ret = CMD_ERROR;
- goto end_
free_path
;
+ goto end_
destroy_lookup_method
;
}
}
}
}
@@
-468,32
+476,24
@@
static int parse_userspace_probe_opts(struct lttng_event *ev, char *opt)
break;
default:
ret = CMD_ERROR;
break;
default:
ret = CMD_ERROR;
- goto end_
string
;
+ goto end_
destroy_lookup_method
;
}
}
- switch (ev->type) {
- case LTTNG_EVENT_USERSPACE_PROBE:
- break;
- default:
- assert(0);
- }
-
- goto end;
+ /* Successful parsing, now clean up everything and return. */
+ goto end_string;
end_destroy_location:
lttng_userspace_probe_location_destroy(probe_location);
end_destroy_lookup_method:
lttng_userspace_probe_location_lookup_method_destroy(lookup_method);
end_destroy_location:
lttng_userspace_probe_location_destroy(probe_location);
end_destroy_lookup_method:
lttng_userspace_probe_location_lookup_method_destroy(lookup_method);
-end_free_path:
+end_string:
+ strutils_free_null_terminated_array_of_strings(tokens);
/*
/*
- * Free
path that was allocated by the call to realpath() or when walking
- *
the PATH
.
+ * Free
ing both char * here makes the error handling simplier. free()
+ *
performs not action if the pointer is NULL
.
*/
free(real_target_path);
*/
free(real_target_path);
-end_unescaped_string:
free(unescaped_target_path);
free(unescaped_target_path);
-end_string:
- strutils_free_null_terminated_array_of_strings(tokens);
end:
return ret;
}
end:
return ret;
}
This page took
0.024862 seconds
and
4
git commands to generate.