From e458ac29e6e221e35996f1f615e07a8fad4c7d27 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Fri, 17 Feb 2023 21:17:15 -0500 Subject: [PATCH] ctf: avoid using computing offset from nullptr pointer MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit When running the test_trace_collection_message_iterator.py test in a build with -fsanitize=undefined, I see: /home/simark/src/babeltrace/src/plugins/ctf/common/metadata/visitor-generate-ir.cpp:1143:30: runtime error: member access within null pointer of type 'struct ctf_node' This happens when `node_field_class_declarator` is nullptr. Avoid this by using `node_field_class_declarator` once we know it's non-nullptr. Change-Id: I585e5b17af7e1a16a217ef46c0a49fae901dcae8 Signed-off-by: Simon Marchi Reviewed-on: https://review.lttng.org/c/babeltrace/+/9513 Tested-by: jenkins Reviewed-by: Jérémie Galarneau --- src/plugins/ctf/common/metadata/visitor-generate-ir.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/plugins/ctf/common/metadata/visitor-generate-ir.cpp b/src/plugins/ctf/common/metadata/visitor-generate-ir.cpp index a55cbc37..33fa1ccb 100644 --- a/src/plugins/ctf/common/metadata/visitor-generate-ir.cpp +++ b/src/plugins/ctf/common/metadata/visitor-generate-ir.cpp @@ -1127,10 +1127,8 @@ static int visit_field_class_declarator(struct ctf_visitor_generate_ir *ctx, /* Find the right nested declaration if not provided */ if (!nested_decl) { - struct bt_list_head *pointers = - &node_field_class_declarator->u.field_class_declarator.pointers; - - if (node_field_class_declarator && !bt_list_empty(pointers)) { + if (node_field_class_declarator && + !bt_list_empty(&node_field_class_declarator->u.field_class_declarator.pointers)) { GQuark qalias; /* -- 2.34.1