aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver/symcache/symcache_item.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/libserver/symcache/symcache_item.cxx')
-rw-r--r--src/libserver/symcache/symcache_item.cxx11
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);
+ }
}
}
}