[PATCH perf/core v3 0/8] perf tools: Update strbuf to remove xrealloc

From: Masami Hiramatsu
Date: Tue May 10 2016 - 01:46:58 EST


Hi Arnaldo,

Here is the 3rd version of the strbuf update. I've fixed it
according to your suggestion :)

- [1/8] Use realloc instead of malloc/memcpy/free (Thanks Arnaldo!)
- [2/8] Cleanup code path according to Arnaldo's review.
- [5/8] Avoid using STRBUF_INIT and return error directly before
initalizing strbuf.

This patch series does refactoring strbuf and xrealloc related code
to remove xrealloc since it can call die() to exit immediately when
it hits any error. Instead of that, it should return error code to
the caller so that the caller can handle its error.

Thus, at first, this changes the strbuf APIs to return error code
instead of die() immediately. And then changing API callers according
to the following rules.
- Check the return value of strbuf APIs and handle errors and,
- If the caller returns an error code (errno), it returns
the return value of strbuf APIs.
- If the caller just return -1 or NULl in error case, it also
returns -1 or NULL in case of strbuf error.
- If the caller can call die() directly, it also call die()
in case of strbuf error.
- Error checking patches are splitted for each subcommand, since
it will help review.

This also removes xrealloc and ALLOC_GROW from libperf, so that no
one use it anymore.

Thank you,

---

Masami Hiramatsu (8):
perf: Rewrite strbuf not to die
perf probe: Check the return value of strbuf APIs
perf help: Make check_emacsclient_version to check strbuf APIs
perf: Make alias handler to check return value of strbuf
perf header: Make topology checkers to check return value of strbuf
perf pmu: Make pmu_formats_string to check return value of strbuf
perf help: Do not use ALLOC_GROW in add_cmd_list
perf tools: Remove xrealloc and ALLOC_GROW


tools/perf/builtin-help.c | 18 +++--
tools/perf/perf.c | 8 +-
tools/perf/util/Build | 1
tools/perf/util/cache.h | 19 -----
tools/perf/util/dwarf-aux.c | 52 ++++++-------
tools/perf/util/header.c | 31 +++++---
tools/perf/util/help-unknown-cmd.c | 30 ++++++--
tools/perf/util/pmu.c | 10 +--
tools/perf/util/probe-event.c | 143 ++++++++++++++++++++++--------------
tools/perf/util/probe-finder.c | 30 +++++---
tools/perf/util/quote.c | 36 +++++----
tools/perf/util/quote.h | 2 -
tools/perf/util/strbuf.c | 93 +++++++++++++++++------
tools/perf/util/strbuf.h | 25 ++++--
tools/perf/util/util.h | 6 --
tools/perf/util/wrapper.c | 29 -------
16 files changed, 293 insertions(+), 240 deletions(-)
delete mode 100644 tools/perf/util/wrapper.c

--
Masami Hiramatsu