Both 'perf diff' and 'perf mem' have 'field-separator' option, which
causes segfault if passed with empty string. This patch uses previously
introduced 'OPT_STRING_NOEMPTY' option macro to prevent fault.

Signed-off-by: Wang Nan <[email protected]>
---
This patch is based on Arnaldo's pull request for Ingo:
  Commit 0c8c20779c5d56b93b8cb4cd30ba129a927ab437
---
 tools/perf/builtin-diff.c | 2 +-
 tools/perf/builtin-mem.c  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c
index f800fc9..473887d 100644
--- a/tools/perf/builtin-diff.c
+++ b/tools/perf/builtin-diff.c
@@ -802,7 +802,7 @@ static const struct option options[] = {
        OPT_STRING('s', "sort", &sort_order, "key[,key2...]",
                   "sort by key(s): pid, comm, dso, symbol, parent, cpu, 
srcline, ..."
                   " Please refer the man page for the complete list."),
-       OPT_STRING('t', "field-separator", &symbol_conf.field_sep, "separator",
+       OPT_STRING_NOEMPTY('t', "field-separator", &symbol_conf.field_sep, 
"separator",
                   "separator for columns, no spaces will be added between "
                   "columns '.' is reserved."),
        OPT_STRING(0, "symfs", &symbol_conf.symfs, "directory",
diff --git a/tools/perf/builtin-mem.c b/tools/perf/builtin-mem.c
index 46c6931..b4dcf0b 100644
--- a/tools/perf/builtin-mem.c
+++ b/tools/perf/builtin-mem.c
@@ -286,7 +286,7 @@ int cmd_mem(int argc, const char **argv, const char *prefix 
__maybe_unused)
                   "input file name"),
        OPT_STRING('C', "cpu", &mem.cpu_list, "cpu",
                   "list of cpus to profile"),
-       OPT_STRING('x', "field-separator", &symbol_conf.field_sep,
+       OPT_STRING_NOEMPTY('x', "field-separator", &symbol_conf.field_sep,
                   "separator",
                   "separator for columns, no spaces will be added"
                   " between columns '.' is reserved."),
-- 
1.8.3.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to