diff --git a/tools/perf/util/maps.c b/tools/perf/util/maps.c index 09c9cc326c08..67133b60b03c 100644 --- a/tools/perf/util/maps.c +++ b/tools/perf/util/maps.c @@ -664,6 +664,7 @@ int maps__find_ams(struct maps *maps, struct addr_map_symbol *ams) if (ams->addr < map__start(ams->ms.map) || ams->addr >= map__end(ams->ms.map)) { if (maps == NULL) return -1; + map__put(ams->ms.map); ams->ms.map = maps__find(maps, ams->addr); if (ams->ms.map == NULL) return -1;