diff options
| -rw-r--r-- | tools/perf/util/sort.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c index 0c68af83e7dd..57047c0a247c 100644 --- a/tools/perf/util/sort.c +++ b/tools/perf/util/sort.c | |||
| @@ -413,8 +413,13 @@ sort__sym_from_cmp(struct hist_entry *left, struct hist_entry *right) | |||
| 413 | static int64_t | 413 | static int64_t |
| 414 | sort__sym_to_cmp(struct hist_entry *left, struct hist_entry *right) | 414 | sort__sym_to_cmp(struct hist_entry *left, struct hist_entry *right) |
| 415 | { | 415 | { |
| 416 | struct addr_map_symbol *to_l = &left->branch_info->to; | 416 | struct addr_map_symbol *to_l, *to_r; |
| 417 | struct addr_map_symbol *to_r = &right->branch_info->to; | 417 | |
| 418 | if (!left->branch_info || !right->branch_info) | ||
| 419 | return cmp_null(left->branch_info, right->branch_info); | ||
| 420 | |||
| 421 | to_l = &left->branch_info->to; | ||
| 422 | to_r = &right->branch_info->to; | ||
| 418 | 423 | ||
| 419 | if (!to_l->sym && !to_r->sym) | 424 | if (!to_l->sym && !to_r->sym) |
| 420 | return _sort__addr_cmp(to_l->addr, to_r->addr); | 425 | return _sort__addr_cmp(to_l->addr, to_r->addr); |
| @@ -434,10 +439,14 @@ static int hist_entry__sym_from_snprintf(struct hist_entry *he, char *bf, | |||
| 434 | static int hist_entry__sym_to_snprintf(struct hist_entry *he, char *bf, | 439 | static int hist_entry__sym_to_snprintf(struct hist_entry *he, char *bf, |
| 435 | size_t size, unsigned int width) | 440 | size_t size, unsigned int width) |
| 436 | { | 441 | { |
| 437 | struct addr_map_symbol *to = &he->branch_info->to; | 442 | if (he->branch_info) { |
| 438 | return _hist_entry__sym_snprintf(to->map, to->sym, to->addr, | 443 | struct addr_map_symbol *to = &he->branch_info->to; |
| 439 | he->level, bf, size, width); | 444 | |
| 445 | return _hist_entry__sym_snprintf(to->map, to->sym, to->addr, | ||
| 446 | he->level, bf, size, width); | ||
| 447 | } | ||
| 440 | 448 | ||
| 449 | return repsep_snprintf(bf, size, "%-*.*s", width, width, "N/A"); | ||
| 441 | } | 450 | } |
| 442 | 451 | ||
| 443 | struct sort_entry sort_dso_from = { | 452 | struct sort_entry sort_dso_from = { |
