[lkml]   [2009]   [Jul]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH 2/5] perf report: Use a modifiable string for default callchain options
    If the user doesn't provide options to tune his callchain output
    (ie: if he uses -c without arguments) then the default value passed
    in the OPT_CALLBACK_DEFAULT() macro is used.

    But it's parsed later by strtok() which will replace comma separators
    to a zero. This may segfault as we are using a read-only string.

    Use a modifiable one instead, and also fix the "100%" default
    minimum threshold value by turning it into a 0 (output every callchains)
    as it was intended in the origin.

    Signed-off-by: Frederic Weisbecker <>
    tools/perf/builtin-report.c | 4 +++-
    1 files changed, 3 insertions(+), 1 deletions(-)

    diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
    index 9f9575a..3db99fd 100644
    --- a/tools/perf/builtin-report.c
    +++ b/tools/perf/builtin-report.c
    @@ -58,6 +58,8 @@ static char *parent_pattern = default_parent_pattern;
    static regex_t parent_regex;

    static int exclude_other = 1;
    +static char callchain_default_opt[] = "flat,0";
    static int callchain;
    static enum chain_mode callchain_mode;
    static double callchain_min_percent = 0.0;
    @@ -1871,7 +1873,7 @@ static const struct option options[] = {
    "Only display entries with parent-match"),
    OPT_CALLBACK_DEFAULT('c', "callchain", NULL, "output_type,min_percent",
    "Display callchains using output_type and min percent threshold. "
    - "Default: flat,0", &parse_callchain_opt, "flat,100"),
    + "Default: flat,0", &parse_callchain_opt, callchain_default_opt),
    OPT_STRING('d', "dsos", &dso_list_str, "dso[,dso...]",
    "only consider symbols in these dsos"),
    OPT_STRING('C', "comms", &comm_list_str, "comm[,comm...]",

     \ /
      Last update: 2009-07-05 07:43    [W:0.021 / U:2.240 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site