On Sun, Jan 17, 2016 at 01:03:01AM +0900, Namhyung Kim wrote:

SNIP

> +}
> +
> +static bool hists__hierarchy_insert_entry(struct hists *hists,
> +                                       struct rb_root *root,
> +                                       struct hist_entry *he)
> +{
> +     struct perf_hpp_fmt *fmt;
> +     struct hist_entry *new = NULL;
> +     struct hist_entry *parent = NULL;
> +     int depth = 0;
> +
> +     perf_hpp__for_each_sort_list(fmt) {
> +             if (!perf_hpp__is_sort_entry(fmt) &&
> +                 !perf_hpp__is_dynamic_entry(fmt))
> +                     continue;
> +
> +             /* insert copy of 'he' for each fmt into the hierarchy */
> +             new = hierarchy_insert_entry(hists, root, he, fmt);
> +             if (new == NULL)
> +                     break;

so hierarchy_insert_entry can fail because of memory allocation
but the resort path does not cover any error path because it only
shuffles entries from in-tree into sorted tree

would it make more sense to do this in 'in-tree addition' path?
and keep the resort functions to do only resort stuff

thanks,
jirka

Reply via email to