From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id OcyiEoDNmGnGNAMAWB0awg (envelope-from ) for ; Fri, 20 Feb 2026 16:09:20 -0500 Authentication-Results: simark.ca; dkim=pass (2048-bit key; secure) header.d=adacore.com header.i=@adacore.com header.a=rsa-sha256 header.s=google header.b=gEoeKhe+; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 468841E0BA; Fri, 20 Feb 2026 16:09:20 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.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 889011E08D for ; Fri, 20 Feb 2026 16:09:19 -0500 (EST) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 5772B4BAD14D for ; Fri, 20 Feb 2026 21:09:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5772B4BAD14D Authentication-Results: sourceware.org; dkim=pass (2048-bit key, secure) header.d=adacore.com header.i=@adacore.com header.a=rsa-sha256 header.s=google header.b=gEoeKhe+ Received: from mail-oa1-x2c.google.com (mail-oa1-x2c.google.com [IPv6:2001:4860:4864:20::2c]) by sourceware.org (Postfix) with ESMTPS id D99224BA23CB for ; Fri, 20 Feb 2026 21:03:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D99224BA23CB Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=adacore.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D99224BA23CB Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:4860:4864:20::2c ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1771621436; cv=none; b=YwTIVZs4sGEPPWsX2Kzz4RpJw4uSU7h6NOPwrIRiW1iGTDetnPuiF0u0dVRkvwDT8pA6Tma0NF0w96Mc5TouGrLp8L4NseqY40on9bHcnbnc/fVesdgaRbhRNwmVrTXLPgnDj6ZAZhSZqACN2h7JQQmgP5wn+1xEFVv7iQPpepw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1771621436; c=relaxed/simple; bh=cC0X/jXcTAg2uusYXYbIxa7F+DRLBzV/YGuCohgfjTI=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=dbdFxhXlBdHAX//OxOAwItuLIVZ7vgTKphSbk4U927MJmneoVcFLb4kyQ41dLqiXM/wH93JNFnkYQ5lv3g3A0m1famQWeKqZSZangN1MQPyr+vHPGZ1G2NkLRq2K2i+ZTMmAJWVmkU7J6QJK3r47BIGmEzu5di30mATfpGoLcdQ= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D99224BA23CB Received: by mail-oa1-x2c.google.com with SMTP id 586e51a60fabf-40438e0cba6so1633635fac.1 for ; Fri, 20 Feb 2026 13:03:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adacore.com; s=google; t=1771621435; x=1772226235; darn=sourceware.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=1yDSXuc0PpVgzXOuasw9YrV3czNZXP8dQLHVOIvmNWI=; b=gEoeKhe+XkG2oigiGvPLGDJUCYbq8pRs0AQqrjj/PvRS54/MY7A70mvpV+2J0hME60 G61j+uN3ZQD+b/brnN4wkP3xRnfJ1cuAdMs+mbNAEv0lQ30CVsoMcIoVXFroQ3SpQXVS 58dnq3kWnV1bRffsIDX/NysloYWIU59U8yjJOsUbnFK9/fLbWSzfgvUWKSBAnv+r0jI8 mUZPfX845Ni6QPBfdALTXczT1Vvscqun6bnbI+I4cBGfOMbSbGlKrRgEsYguw2eL/4C7 OgGvbx8yk5aEUvi679VqHXuEE50gGSVoKO0fPlUqibGTTkb2fxXVRhGG8IuuDct9I56a ejaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771621435; x=1772226235; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=1yDSXuc0PpVgzXOuasw9YrV3czNZXP8dQLHVOIvmNWI=; b=c1FC7YSUg4nwl+VSq8edU6sNdkK37U9bHxa+gjWeUd4RzqoCNFQW+0e9tV3WO3swdp bOWLUXi5y/f1mDzuSZEsaOqiV2wfj+Z4X6ruBVeEFkp4a0ZsaNdb8c93veU4AOLIkOLy dFIaGkLMeVM9GzBKH1rx8PlBYUZ4mJFJtlTlhlF4jUgUfjrX54WWGGui4TaKOogyjjUw baVcEIOwsVJhb0clmXMtX5D0pgMr6ueHrlVvuaATc2b5aJ20XBnM9RS2uqirJKkF4Tn0 GkOguDNc1z15LyvSiS/2ZaTZuZG1xm34pBE3TWDghAye1iP8LcvlrJpl8ufb2gLW7e8h 3iTg== X-Gm-Message-State: AOJu0Yxl8v4xk15Q3oCKmAbKbpaa5p/+hdXhFlnIPnjWpsp9Ud9ENJWE ohTwncHDUQHtzFQ2F8YY/3MSzOcxvZnYFYRQKwwAM5q5gBb+hVeUxxaks6Ic17r9W68nkVpQh+9 gi70= X-Gm-Gg: AZuq6aJS6CgMMtnL3TBnxLwJ24UwnoSlF+SiMCUUXu7lz2Lzt+hnZjPwygKYPYJSdoI brz5waNDxWpGQGnQCD5DHsQqlSAfDJdsF/3qOrdNBK27TdhOwxyYra+lQDF7xaiOjA7ILJR5Dgk U1+XLutmnXgE+pA5ER2GH1iMGT7q8AWAWFySuw7yU8AVjvxhDoXY8SuKnClAIcGCIp6z0VWGvvA +Dmvh0mzMayeqCxvJ6LCEMrEO+FzwPZNnPAs73LIuDAp6Kqp9GKZdEGRy5UoGgfjbMuS5G2WmV6 KTp18Zdjr1QDlBfWlMSJyTpHUdpiEr/IiSrovXcwJUGUp7XuV65/h0XUF07UCbl+PpyzRCA7u4H p66JEbSeqz3nd2YhULwbmt+NfMDWG//17LftubPUbky/fnMlRUqOVqTHtuI5jN29g6nso7/PJGu squuvbXwjXavGmAzQeG9z/9xqkGJFamKPcUcfe+hgLOle9wAQLo4cjfJ/v X-Received: by 2002:a05:6820:828:b0:672:f683:7c54 with SMTP id 006d021491bc7-679c4648b33mr765569eaf.69.1771621435057; Fri, 20 Feb 2026 13:03:55 -0800 (PST) Received: from [192.168.0.26] (97-122-122-234.hlrn.qwest.net. [97.122.122.234]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-4157d2d7826sm561630fac.10.2026.02.20.13.03.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Feb 2026 13:03:54 -0800 (PST) From: Tom Tromey Date: Fri, 20 Feb 2026 14:03:54 -0700 Subject: [PATCH 08/10] Return gdbpy_ref<> from symtab_to_linetable_object MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260220-python-safety-minor-v1-8-4c4b12e445af@adacore.com> References: <20260220-python-safety-minor-v1-0-4c4b12e445af@adacore.com> In-Reply-To: <20260220-python-safety-minor-v1-0-4c4b12e445af@adacore.com> To: gdb-patches@sourceware.org Cc: Tom Tromey X-Mailer: b4 0.14.3 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 This changes symtab_to_linetable_object to return a gdbpy_ref<>, using the type system to convey that a new reference is always returned. --- gdb/python/py-linetable.c | 4 ++-- gdb/python/py-symtab.c | 2 +- gdb/python/python-internal.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gdb/python/py-linetable.c b/gdb/python/py-linetable.c index 384ced68a32..2afa9b033e7 100644 --- a/gdb/python/py-linetable.c +++ b/gdb/python/py-linetable.c @@ -77,7 +77,7 @@ get_symtab (PyObject *linetable) /* Helper function to create a line table object that wraps a gdb.Symtab object. */ -PyObject * +gdbpy_ref<> symtab_to_linetable_object (PyObject *symtab) { linetable_object *ltable; @@ -88,7 +88,7 @@ symtab_to_linetable_object (PyObject *symtab) ltable->symtab = symtab; Py_INCREF (symtab); } - return (PyObject *) ltable; + return gdbpy_ref<> (ltable); } /* Internal helper function to build a line table object from a line diff --git a/gdb/python/py-symtab.c b/gdb/python/py-symtab.c index 550f287a6ee..ed5abac1372 100644 --- a/gdb/python/py-symtab.c +++ b/gdb/python/py-symtab.c @@ -220,7 +220,7 @@ stpy_get_linetable (PyObject *self, PyObject *args) STPY_REQUIRE_VALID (self, symtab); - return symtab_to_linetable_object (self); + return symtab_to_linetable_object (self).release (); } static PyObject * diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h index 0b816db196f..85f7f1f4dd1 100644 --- a/gdb/python/python-internal.h +++ b/gdb/python/python-internal.h @@ -503,7 +503,7 @@ gdbpy_ref<> block_to_block_object (const struct block *block, gdbpy_ref<> value_to_value_object (struct value *v); gdbpy_ref<> type_to_type_object (struct type *); gdbpy_ref<> frame_info_to_frame_object (const frame_info_ptr &frame); -PyObject *symtab_to_linetable_object (PyObject *symtab); +gdbpy_ref<> symtab_to_linetable_object (PyObject *symtab); gdbpy_ref<> pspace_to_pspace_object (struct program_space *); PyObject *pspy_get_printers (PyObject *, void *); PyObject *pspy_get_frame_filters (PyObject *, void *); -- 2.53.0