Commit c481f930 authored by Namhyung Kim's avatar Namhyung Kim Committed by Jiri Olsa

perf ui/tui: Fix off-by-one in hist_browser__update_nr_entries()

The nr_entries variable is increased inside the loop in the function
but it always count the first entry regardless of it's filtered or
not; caused an off-by-one error.

It'd become a problem especially there's no entry at all - it'd get a
segfault during referencing a NULL pointer.
Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1398327843-31845-9-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarJiri Olsa <jolsa@kernel.org>
parent 3186b681
...@@ -1348,10 +1348,10 @@ static void hist_browser__update_pcnt_entries(struct hist_browser *hb) ...@@ -1348,10 +1348,10 @@ static void hist_browser__update_pcnt_entries(struct hist_browser *hb)
u64 nr_entries = 0; u64 nr_entries = 0;
struct rb_node *nd = rb_first(&hb->hists->entries); struct rb_node *nd = rb_first(&hb->hists->entries);
while (nd) { while ((nd = hists__filter_entries(nd, hb->hists,
hb->min_pcnt)) != NULL) {
nr_entries++; nr_entries++;
nd = hists__filter_entries(rb_next(nd), hb->hists, nd = rb_next(nd);
hb->min_pcnt);
} }
hb->nr_pcnt_entries = nr_entries; hb->nr_pcnt_entries = nr_entries;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment