From ca2b008547ac11670f98c02364fbc57642869e3d Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Wed, 24 May 2023 17:08:09 -0700 Subject: [PATCH] libsysprof-analyze: skip symbols we failed to symbolize --- src/libsysprof-analyze/sysprof-document.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libsysprof-analyze/sysprof-document.c b/src/libsysprof-analyze/sysprof-document.c index c79e4f65..b30354e0 100644 --- a/src/libsysprof-analyze/sysprof-document.c +++ b/src/libsysprof-analyze/sysprof-document.c @@ -1080,6 +1080,7 @@ sysprof_document_symbolize_traceable (SysprofDocument *self, const SysprofProcessInfo *process_info; SysprofAddress *addresses; guint n_addresses; + guint n_symbolized = 0; int pid; g_return_val_if_fail (SYSPROF_IS_DOCUMENT (self), 0); @@ -1097,13 +1098,16 @@ sysprof_document_symbolize_traceable (SysprofDocument *self, { SysprofAddressContext context; - symbols[i] = _sysprof_document_symbols_lookup (self->symbols, process_info, last_context, addresses[i]); + symbols[n_symbolized] = _sysprof_document_symbols_lookup (self->symbols, process_info, last_context, addresses[i]); + + if (symbols[n_symbolized] != NULL) + n_symbolized++; if (sysprof_address_is_context_switch (addresses[i], &context)) last_context = context; } - return n_addresses; + return n_symbolized; } /**