Re: [PATCH v4 1/5] perf config: Check error cases of {show_spec, set}_config()

From: Arnaldo Carvalho de Melo
Date: Mon Jun 19 2017 - 14:32:43 EST


Em Sat, Jun 17, 2017 at 12:46:37PM +0900, Taeung Song escreveu:
> show_spec_config() and set_config() can be called multiple times
> in the loop in cmd_config().
> However, The error cases of them wasn't checked, so fix it.

Thanks, applied.

> Reported-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> Signed-off-by: Taeung Song <treeze.taeung@xxxxxxxxx>
> ---
> tools/perf/builtin-config.c | 17 +++++++++++++++--
> 1 file changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/builtin-config.c b/tools/perf/builtin-config.c
> index 7545966..bb1be79 100644
> --- a/tools/perf/builtin-config.c
> +++ b/tools/perf/builtin-config.c
> @@ -225,10 +225,23 @@ int cmd_config(int argc, const char **argv)
> break;
> }
>
> - if (value == NULL)
> + if (value == NULL) {
> ret = show_spec_config(set, var);
> - else
> + if (ret < 0) {
> + pr_err("%s is not configured: %s\n",
> + var, config_filename);
> + free(arg);
> + break;
> + }
> + } else {
> ret = set_config(set, config_filename, var, value);
> + if (ret < 0) {
> + pr_err("Failed to set '%s=%s' on %s\n",
> + var, value, config_filename);
> + free(arg);
> + break;
> + }
> + }
> free(arg);
> }
> }
> --
> 2.7.4