From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id fhH3KslIqGoruQwAWB0awg (envelope-from ) for ; Mon, 14 Sep 2026 15:19:37 -0400 Received: by simark.ca (Postfix, from userid 112) id 9E79A1E033; Mon, 14 Sep 2026 15:19:37 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.3 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 328351E033 for ; Mon, 14 Sep 2026 15:19:37 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D68554B99F5C for ; Mon, 14 Sep 2026 19:19:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D68554B99F5C Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id 6AEC94B9DB49 for ; Mon, 14 Sep 2026 19:19:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6AEC94B9DB49 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=efficios.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 6AEC94B9DB49 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=158.69.221.121 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1789413551; cv=none; b=nO0sn80pM0HacWJWvs1NYhtYOE+d6JfnNXXWOFF/FYHlk95JNttWb5Uio+T9R4qJm+RO4oVsg7L+Z4O4Vfc4Y1nyNbO7AWpZT/D08hz6tW5Kv5ScRERcO/dspwMAGXu3PxjIF6NYBBbntCSztfmXpNprheR29v173d9TQW8nKao= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1789413551; c=relaxed/simple; bh=6WsjvusJAO+2F6VU69lR2/HGikX6CFHCuxPteHKyBXw=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=e3Q1+E6mZbQ4mt+R/JSQUwIImnpPL3YKpPVK9ReeBOT4RfIz8UfeTXqhBAWIiuCKZe0Vfkmlz2e7+WN2YAz5YfGd2hml2QB+/TDOuL6JEev+jaXFNb1yfIgwxa1u4sk2l/lqXGJpngKKFHJddzPO1byZJ6NAYAAiAMD5FrARbdc= ARC-Authentication-Results: i=1; sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6AEC94B9DB49 Received: by simark.ca (Postfix) id 9D9281E033; Mon, 14 Sep 2026 15:19:09 -0400 (EDT) From: Simon Marchi To: gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH 1/4] gdb/python: check for nullptr before calling evpy_add_attribute Date: Mon, 14 Sep 2026 15:19:01 -0400 Message-ID: <20260914191908.557014-1-simon.marchi@efficios.com> X-Mailer: git-send-email 2.55.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org Found by Claude while I was reviewing some patches: gdbpy_borrowed_ref's constructor asserts that the object is not nullptr. Some call sites can in theory pass nullptr (although very unlikely, only on memory allocation failure kind of errors), fix them. Change-Id: I75141ce7a4d6392eaffaf3e4cfd06a6e84c1e81f --- gdb/python/py-connection.c | 3 ++- gdb/python/py-tui.c | 3 ++- gdb/python/python.c | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/gdb/python/py-connection.c b/gdb/python/py-connection.c index d2085960be4d..e2769871d3d7 100644 --- a/gdb/python/py-connection.c +++ b/gdb/python/py-connection.c @@ -143,7 +143,8 @@ emit_connection_event (process_stratum_target *target, return -1; gdbpy_ref<> conn = target_to_connection_object (target); - if (evpy_add_attribute (event_obj, "connection", conn) < 0) + if (conn == nullptr + || evpy_add_attribute (event_obj, "connection", conn) < 0) return -1; return evpy_emit_event (event_obj, registry); diff --git a/gdb/python/py-tui.c b/gdb/python/py-tui.c index 465fbd2fe6d1..7213158cdbe3 100644 --- a/gdb/python/py-tui.c +++ b/gdb/python/py-tui.c @@ -605,7 +605,8 @@ gdbpy_tui_enabled (bool state) } gdbpy_ref<> code (PyBool_FromLong (state)); - if (evpy_add_attribute (event_obj, "enabled", code) < 0 + if (code == nullptr + || evpy_add_attribute (event_obj, "enabled", code) < 0 || evpy_emit_event (event_obj, gdb_py_events.tui_enabled) < 0) gdbpy_print_stack (); } diff --git a/gdb/python/python.c b/gdb/python/python.c index df9f7c690064..01f4aa275ef9 100644 --- a/gdb/python/python.c +++ b/gdb/python/python.c @@ -2500,7 +2500,8 @@ emit_exiting_event (int exit_code) return -1; gdbpy_ref<> code = gdb_py_object_from_longest (exit_code); - if (evpy_add_attribute (event_obj, "exit_code", code) < 0) + if (code == nullptr + || evpy_add_attribute (event_obj, "exit_code", code) < 0) return -1; return evpy_emit_event (event_obj, gdb_py_events.gdb_exiting); base-commit: 45e21c702fb0c4e273398b24a26096fd43dc512d -- 2.55.0