mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-02 10:31:26 -04:00
perf trace: Don't change const char strings
We got away with this so far but now with fedora 44 complaining about the return value of strchr et all, lets use strdup for good measure. Reviewed-by: Ian Rogers <irogers@google.com> Link: https://lore.kernel.org/r/20251211221756.96294-5-acme@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
committed by
Arnaldo Carvalho de Melo
parent
45718bce7d
commit
c85eff00cf
@@ -5173,8 +5173,8 @@ static int trace__parse_events_option(const struct option *opt, const char *str,
|
||||
int unset __maybe_unused)
|
||||
{
|
||||
struct trace *trace = (struct trace *)opt->value;
|
||||
const char *s = str;
|
||||
char *sep = NULL, *lists[2] = { NULL, NULL, };
|
||||
const char *s;
|
||||
char *strd, *sep = NULL, *lists[2] = { NULL, NULL, };
|
||||
int len = strlen(str) + 1, err = -1, list, idx;
|
||||
char *strace_groups_dir = system_path(STRACE_GROUPS_DIR);
|
||||
char group_name[PATH_MAX];
|
||||
@@ -5183,6 +5183,10 @@ static int trace__parse_events_option(const struct option *opt, const char *str,
|
||||
if (strace_groups_dir == NULL)
|
||||
return -1;
|
||||
|
||||
s = strd = strdup(str);
|
||||
if (strd == NULL)
|
||||
return -1;
|
||||
|
||||
if (*s == '!') {
|
||||
++s;
|
||||
trace->not_ev_qualifier = true;
|
||||
@@ -5257,8 +5261,7 @@ static int trace__parse_events_option(const struct option *opt, const char *str,
|
||||
free(strace_groups_dir);
|
||||
free(lists[0]);
|
||||
free(lists[1]);
|
||||
if (sep)
|
||||
*sep = ',';
|
||||
free(strd);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user