diff options
Diffstat (limited to 'tools/perf/builtin-probe.c')
-rw-r--r-- | tools/perf/builtin-probe.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c index 921bb6942503..2df23e177da5 100644 --- a/tools/perf/builtin-probe.c +++ b/tools/perf/builtin-probe.c | |||
@@ -78,6 +78,11 @@ static int parse_probe_event(const char *str) | |||
78 | } | 78 | } |
79 | 79 | ||
80 | pev->uprobes = params.uprobes; | 80 | pev->uprobes = params.uprobes; |
81 | if (params.target) { | ||
82 | pev->target = strdup(params.target); | ||
83 | if (!pev->target) | ||
84 | return -ENOMEM; | ||
85 | } | ||
81 | 86 | ||
82 | /* Parse a perf-probe command into event */ | 87 | /* Parse a perf-probe command into event */ |
83 | ret = parse_perf_probe_command(str, pev); | 88 | ret = parse_perf_probe_command(str, pev); |
@@ -178,7 +183,7 @@ static int opt_set_target(const struct option *opt, const char *str, | |||
178 | int ret = -ENOENT; | 183 | int ret = -ENOENT; |
179 | char *tmp; | 184 | char *tmp; |
180 | 185 | ||
181 | if (str && !params.target) { | 186 | if (str) { |
182 | if (!strcmp(opt->long_name, "exec")) | 187 | if (!strcmp(opt->long_name, "exec")) |
183 | params.uprobes = true; | 188 | params.uprobes = true; |
184 | #ifdef HAVE_DWARF_SUPPORT | 189 | #ifdef HAVE_DWARF_SUPPORT |
@@ -200,6 +205,7 @@ static int opt_set_target(const struct option *opt, const char *str, | |||
200 | if (!tmp) | 205 | if (!tmp) |
201 | return -ENOMEM; | 206 | return -ENOMEM; |
202 | } | 207 | } |
208 | free(params.target); | ||
203 | params.target = tmp; | 209 | params.target = tmp; |
204 | ret = 0; | 210 | ret = 0; |
205 | } | 211 | } |
@@ -487,7 +493,6 @@ __cmd_probe(int argc, const char **argv, const char *prefix __maybe_unused) | |||
487 | if (params.nevents) { | 493 | if (params.nevents) { |
488 | ret = add_perf_probe_events(params.events, params.nevents, | 494 | ret = add_perf_probe_events(params.events, params.nevents, |
489 | params.max_probe_points, | 495 | params.max_probe_points, |
490 | params.target, | ||
491 | params.force_add); | 496 | params.force_add); |
492 | if (ret < 0) { | 497 | if (ret < 0) { |
493 | pr_err_with_code(" Error: Failed to add events.", ret); | 498 | pr_err_with_code(" Error: Failed to add events.", ret); |