diff options
Diffstat (limited to 'src/libserver/symcache/symcache_item.cxx')
-rw-r--r-- | src/libserver/symcache/symcache_item.cxx | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/libserver/symcache/symcache_item.cxx b/src/libserver/symcache/symcache_item.cxx index 24e198dd3..ac901f5cf 100644 --- a/src/libserver/symcache/symcache_item.cxx +++ b/src/libserver/symcache/symcache_item.cxx @@ -263,10 +263,13 @@ auto cache_item::inc_frequency(const char *sym_name, symcache &cache) -> void { if (sym_name && symbol != sym_name) { if (is_filter()) { - /* Likely a callback symbol with some virtual symbol that needs to be adjusted */ - for (const auto &cld: get_children().value().get()) { - if (cld->get_name() == sym_name) { - cld->inc_frequency(sym_name, cache); + const auto *children = get_children(); + if (children) { + /* Likely a callback symbol with some virtual symbol that needs to be adjusted */ + for (const auto &cld: *children) { + if (cld->get_name() == sym_name) { + cld->inc_frequency(sym_name, cache); + } } } } |