From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id EIoIMJA0YWfkLB4AWB0awg (envelope-from ) for ; Tue, 17 Dec 2024 03:21:36 -0500 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=K3ks6yml; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id C06FF1E097; Tue, 17 Dec 2024 03:21:36 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=unavailable autolearn_force=no version=4.0.0 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (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 4C1451E05C for ; Tue, 17 Dec 2024 03:21:36 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D7B713858D33 for ; Tue, 17 Dec 2024 08:21:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D7B713858D33 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=K3ks6yml Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16]) by sourceware.org (Postfix) with ESMTPS id D951B3858417 for ; Tue, 17 Dec 2024 08:19:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D951B3858417 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D951B3858417 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=192.198.163.16 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1734423549; cv=none; b=GF8ioM/1KqG1YRgAlZjSKmpOmp35a4Wufoddyzulwex0oQVFp9ccgpvapm0g7p9BvkvZGtrdN3RC54rn2ocwNWAntTISCD/EhObU9J1wBPO/69EeBoK1ez+v1Z3NfJYALfO9ffKgOuu3V9dzUfOn+HL9uuLjIKqjQdFFQCuAQTc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1734423549; c=relaxed/simple; bh=7Psb0qC/mfBbWUGF9t7SBk7xLE/nbaRgAu1bIxyVpIk=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=kXYDW9Jx7ewafud5debd5zECQJ+/Bn0zsQfBkZyH0TVlaoyrkLGF1JqqdBUJqiYIT7FVz5nZZH5N4zFvdukKvqm4WXvkbOYBkn3LEG5YiqIoGTwRqss7uEchTke+jcq/05ytRIspdzugYZcYs/hnPgjeW4OdRaCvheFV/OKixsA= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D951B3858417 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1734423549; x=1765959549; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=7Psb0qC/mfBbWUGF9t7SBk7xLE/nbaRgAu1bIxyVpIk=; b=K3ks6ymlpeutdYVTQNidVpSVnBEuIn8Q7fJEaaM2sANCAd+K+/QsBxfl nTc9VeDUEZdI5CpXT+tVicwSO21eBuCxDU4WWwwtE84U5mdCgcjvopb72 Pe8o0yuohXIlDvNTKb3JeiOjnUDWCd9HmL5jCWJGGbkn/Ufzs+NDXRnbU Ebal7aNMe4iolj2V9hPRd7BugF+PCrBxwkGwPRPftgCgxtjZcxmarHF+2 w4W/EcbC33T694nuOzoBw8CcK+ssMv6Du7hKQvCPU8RUdiUt7qMBWXQAw n4Nzw4DjyFYzUv2iEy4jmzEe6e/RDQico27/g3Fo/pfltmebcOAKOROVM w==; X-CSE-ConnectionGUID: yLqECkXORdmIF7I1loLrkw== X-CSE-MsgGUID: SVBVcssJQbiky5eTRZD9dQ== X-IronPort-AV: E=McAfee;i="6700,10204,11288"; a="22427835" X-IronPort-AV: E=Sophos;i="6.12,241,1728975600"; d="scan'208";a="22427835" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Dec 2024 00:19:08 -0800 X-CSE-ConnectionGUID: 9Wtz+3otQvu4rRqicUgGoQ== X-CSE-MsgGUID: 9ThAf+vrTrmdTC9glm2oPQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,241,1728975600"; d="scan'208";a="97346377" Received: from gkldtt-dev-004.igk.intel.com (HELO localhost) ([10.123.221.202]) by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Dec 2024 00:19:07 -0800 From: Tankut Baris Aktemur To: gdb-patches@sourceware.org Cc: simon.marchi@efficios.com Subject: [PUSHED 4/8] gdbserver: check for nullptr condition in regcache::get_register_status Date: Tue, 17 Dec 2024 09:18:26 +0100 Message-Id: <81b65d86956f1f47cf7d45cd58d9ca849fe8ffc6.1734422730.git.tankut.baris.aktemur@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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 A regcache can be initialized with a register value buffer, in which case, the register_status pointer is null. This condition is checked in set_register_status, but not in get_register_status. Do this check for consistence and safety. Approved-By: Simon Marchi --- gdbserver/regcache.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gdbserver/regcache.cc b/gdbserver/regcache.cc index 583b5624333..4a064f6374b 100644 --- a/gdbserver/regcache.cc +++ b/gdbserver/regcache.cc @@ -526,7 +526,10 @@ regcache::get_register_status (int regnum) const { #ifndef IN_PROCESS_AGENT gdb_assert (regnum >= 0 && regnum < tdesc->reg_defs.size ()); - return (enum register_status) (register_status[regnum]); + if (register_status != nullptr) + return (enum register_status) (register_status[regnum]); + else + return REG_VALID; #else return REG_VALID; #endif -- 2.34.1 Intel Deutschland GmbH Registered Address: Am Campeon 10, 85579 Neubiberg, Germany Tel: +49 89 99 8853-0, www.intel.de Managing Directors: Sean Fennelly, Jeffrey Schneiderman, Tiffany Doon Silva Chairperson of the Supervisory Board: Nicole Lau Registered Office: Munich Commercial Register: Amtsgericht Muenchen HRB 186928