diff options
Diffstat (limited to 'tools/perf/util/symbol.c')
-rw-r--r-- | tools/perf/util/symbol.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c index 2b3495a93fb6..f8a306865201 100644 --- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c | |||
@@ -1091,21 +1091,23 @@ restart: | |||
1091 | 1091 | ||
1092 | ret = dso__load_sym(dso, map, &ss, filter, 0, | 1092 | ret = dso__load_sym(dso, map, &ss, filter, 0, |
1093 | want_symtab); | 1093 | want_symtab); |
1094 | symsrc__destroy(&ss); | ||
1095 | 1094 | ||
1096 | /* | 1095 | /* |
1097 | * Some people seem to have debuginfo files _WITHOUT_ debug | 1096 | * Some people seem to have debuginfo files _WITHOUT_ debug |
1098 | * info!?!? | 1097 | * info!?!? |
1099 | */ | 1098 | */ |
1100 | if (!ret) | 1099 | if (!ret) { |
1100 | symsrc__destroy(&ss); | ||
1101 | continue; | 1101 | continue; |
1102 | } | ||
1102 | 1103 | ||
1103 | if (ret > 0) { | 1104 | if (ret > 0) { |
1104 | int nr_plt; | 1105 | int nr_plt; |
1105 | 1106 | ||
1106 | nr_plt = dso__synthesize_plt_symbols(dso, name, map, filter); | 1107 | nr_plt = dso__synthesize_plt_symbols(dso, &ss, map, filter); |
1107 | if (nr_plt > 0) | 1108 | if (nr_plt > 0) |
1108 | ret += nr_plt; | 1109 | ret += nr_plt; |
1110 | symsrc__destroy(&ss); | ||
1109 | break; | 1111 | break; |
1110 | } | 1112 | } |
1111 | } | 1113 | } |