On Tue, Oct 22, 2019 at 05:53:33PM -0700, Ian Rogers wrote: > Use realloc rather than malloc+memcpy to possibly avoid a memory > allocation when appending array elements. > > Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> thanks, jirka > --- > tools/perf/util/parse-events.y | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/tools/perf/util/parse-events.y b/tools/perf/util/parse-events.y > index 26cb65798522..545ab7cefc20 100644 > --- a/tools/perf/util/parse-events.y > +++ b/tools/perf/util/parse-events.y > @@ -691,14 +691,12 @@ array_terms ',' array_term > struct parse_events_array new_array; > > new_array.nr_ranges = $1.nr_ranges + $3.nr_ranges; > - new_array.ranges = malloc(sizeof(new_array.ranges[0]) * > - new_array.nr_ranges); > + new_array.ranges = realloc($1.ranges, > + sizeof(new_array.ranges[0]) * > + new_array.nr_ranges); > ABORT_ON(!new_array.ranges); > - memcpy(&new_array.ranges[0], $1.ranges, > - $1.nr_ranges * sizeof(new_array.ranges[0])); > memcpy(&new_array.ranges[$1.nr_ranges], $3.ranges, > $3.nr_ranges * sizeof(new_array.ranges[0])); > - free($1.ranges); > free($3.ranges); > $$ = new_array; > } > -- > 2.23.0.866.gb869b98d4c-goog >