perf symbols: Fix dso__fprintf_symbols_by_name() to return the number of printed...
authorArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 8 Mar 2021 14:17:51 +0000 (11:17 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 8 Mar 2021 14:17:51 +0000 (11:17 -0300)
The 'ret' variable was initialized to zero but then it was not updated
from the fprintf() return, fix it.

Reported-by: Yang Li <yang.lee@linux.alibaba.com>
cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
cc: Ingo Molnar <mingo@redhat.com>
cc: Jiri Olsa <jolsa@redhat.com>
cc: Mark Rutland <mark.rutland@arm.com>
cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Fixes: 90f18e63fbd00513 ("perf symbols: List symbols in a dso in ascending name order")
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/symbol_fprintf.c

index 35c936c..2664fb6 100644 (file)
@@ -68,7 +68,7 @@ size_t dso__fprintf_symbols_by_name(struct dso *dso,
 
        for (nd = rb_first_cached(&dso->symbol_names); nd; nd = rb_next(nd)) {
                pos = rb_entry(nd, struct symbol_name_rb_node, rb_node);
-               fprintf(fp, "%s\n", pos->sym.name);
+               ret += fprintf(fp, "%s\n", pos->sym.name);
        }
 
        return ret;