From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id FNdEAs/ql2eafRwAWB0awg (envelope-from ) for ; Mon, 27 Jan 2025 15:21:35 -0500 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=zetier.com header.i=@zetier.com header.a=rsa-sha256 header.s=gm header.b=VPVrRk70; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id EE5BA1E105; Mon, 27 Jan 2025 15:21:34 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.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 autolearn=ham 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 5E10D1E08E for ; Mon, 27 Jan 2025 15:21:34 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8D43B3858432 for ; Mon, 27 Jan 2025 20:21:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8D43B3858432 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=zetier.com header.i=@zetier.com header.a=rsa-sha256 header.s=gm header.b=VPVrRk70 Received: from mail-qv1-xf2e.google.com (mail-qv1-xf2e.google.com [IPv6:2607:f8b0:4864:20::f2e]) by sourceware.org (Postfix) with ESMTPS id B33CC3858431 for ; Mon, 27 Jan 2025 20:20:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B33CC3858431 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=zetier.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=zetier.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B33CC3858431 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::f2e ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738009258; cv=none; b=wJDDkNPV7EeylKv1IIJFNbiGnp+sguV1kdxb+LU4u6JkCoMIje9YAOzFpkK2xDd++JBShgXxg3/xaZV+jb8TCuW0eMBqAhrwfWPvkNen8lmWOLtjjTKdIycbfePLM76OYymuVUAG5H6nsLF69lhqbd2OdjdJO3Dt4Tq+Xx1p/6U= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1738009258; c=relaxed/simple; bh=5pbW3/fnPMWeJoldWvY9DSXb90qFIKpNqLmYVtbJO9c=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=CZmMNrobD2Pmu3k7QIWfiylD/XInH2bNcxkrC4T84u4qW4rqQ4zEVnRFjIUa3kMj0cML+FNO42RviXdBnTrsRIDWR2PQcWy641eObm2+PF6BCD50X14FhVlwp3SsVMngCr521qzfk6m5vmYjhFyd4wP0zJFBLGEmGNqDkOmbgTg= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B33CC3858431 Received: by mail-qv1-xf2e.google.com with SMTP id 6a1803df08f44-6dd420f82e2so61938006d6.1 for ; Mon, 27 Jan 2025 12:20:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zetier.com; s=gm; t=1738009258; x=1738614058; darn=sourceware.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=hsm5H3+pvSqUDHGPaZ5MaGP0o9dlmqcLlhwm9BWvcEY=; b=VPVrRk70mIZqmsYksR8Hr1aYfbGbOYcReol0pD4pgv4xVAOB7sBBwN1PDVG82JFCSE iktu1tXxtf4A2g4w8IUZ7QMAADgIzWV5JyItoieb9C5vtjHQ0CVUTNBNZ6Is7+2hwTYM Z8uF8K2lDLy5D6lkyFdj7k0J8FtchSBzcXhQthVelDpOeKbwvh7ly0ye8h6Y3g+k05Yp DLvpb+wnmLzsPehMMoofBQHah1wwZoxE2jP5EZFm8WMEpUkJnDgn7jtBCzxqIn5tOOH3 17XJVh/B7oJr1ma7Z+1gmGwlVAfTnWY4OC4Ws4H6+gNu0W+plObIxiu9FDkR+KrIpRDw VSMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738009258; x=1738614058; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=hsm5H3+pvSqUDHGPaZ5MaGP0o9dlmqcLlhwm9BWvcEY=; b=qie/Z3EuPhawbuaVHem+gsy4D9vN0mv0vgrbGxUAIT8zyQOm19uzF/n7PqPt0tslsl jQuQoO06fAwWb7TLyLiOogUhp0if2RzVdXwbDwThABNymoJxm2cbUvGbBpEjYugsSFYH HpUzMmzEoo770nhPeanuCNtRCmltkuqzsVhO9OTsmTt4L+UT/PNcVA+VjNab7lBG7UME nyoMmC7vn6Ul2fITJW71Wqzsvw2jRo1HZ5Yx5t4XGD+1slv01/en+C8TlZXroY1SSDcE Ou7H2tR+nuOBO6MUHoQ55hzuEv1yziEcKl2nJMd3HwxKg3eluVm84UfaCC2WKkL9c/3x 9fhA== X-Gm-Message-State: AOJu0Yy0ouiGisZoYu2i2Rz88zCDyThzhS9RUuJsiq4KEgdBkGjNTRw1 0PYQHX7cEjl1x0iu70p9UySKeh+OVIQtDIaWgVE8b3mjM07X6Zin0nEerJV9uYXIlKSUt1z4i83 av2g= X-Gm-Gg: ASbGnct8rl/LjvWc27yM33ehkfDmN3qFN8M1sJIedTc+HQ+K4iOcb2m2JSXhzcWHAzF qYmkoQZXviyY2k5shkiptSj3sk84EiFZvK9QD431klNNH2oNYIKOwnfrBWtMCx5e6jKLORpJ3BE xKgXKJft2fLRbYCqqMgH9WmHY+9C01HjTw/Wfk8Pxnu9pskY4ZVQQmwnRdg8xqdpowTVl4lpYpA 6UJ6xrZ4M5y/DmZhyaL6G5tRikZU0K1DFqPSX3f1vLYinrQz+XIysf7lGV5xgonwnY20jXO+hkr y5nXqOmmek/gi0XUqjbOLA== X-Google-Smtp-Source: AGHT+IFaFl6TLxJFcMwu1v/1mDslcWmiMFOiIKo74Rq028oXXlqClDLaxovlRYZUgIRRS8fevVPxiA== X-Received: by 2002:a05:6214:1248:b0:6d4:4100:75a1 with SMTP id 6a1803df08f44-6e1b22300ddmr687488516d6.39.1738009256561; Mon, 27 Jan 2025 12:20:56 -0800 (PST) Received: from brandonb.zetier.com ([65.222.209.234]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-46e66860246sm42439471cf.11.2025.01.27.12.20.55 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jan 2025 12:20:56 -0800 (PST) From: Brandon Belew To: Andrew Burgess Cc: gdb-patches@sourceware.org Subject: [PATCH v2] [PR corefiles/32441] Fix segfault if target_fileio_read_alloc fails In-Reply-To: <87v7ueog73.fsf@redhat.com> (Andrew Burgess's message of "Thu, 16 Jan 2025 16:51:12 +0000") References: <87v7ueog73.fsf@redhat.com> Date: Mon, 27 Jan 2025 15:20:48 -0500 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain 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 Check for target_fileio_read_alloc failure in linux_fill_prpsinfo before dereferencing buffer. This fixes a segfault in the 'gcore' command when attached to certain remote targets. --- gdb/linux-tdep.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c index d3ab02d03e0..735d20dc050 100644 --- a/gdb/linux-tdep.c +++ b/gdb/linux-tdep.c @@ -854,7 +854,7 @@ linux_info_proc (struct gdbarch *gdbarch, const char *args, { xsnprintf (filename, sizeof filename, "/proc/%ld/cmdline", pid); gdb_byte *buffer; - ssize_t len = target_fileio_read_alloc (NULL, filename, &buffer); + LONGEST len = target_fileio_read_alloc (nullptr, filename, &buffer); if (len > 0) { @@ -2180,17 +2180,17 @@ linux_fill_prpsinfo (struct elf_internal_linux_prpsinfo *p) /* The number of fields read by `sscanf'. */ int n_fields = 0; - gdb_assert (p != NULL); + gdb_assert (p != nullptr); /* Obtaining PID and filename. */ pid = inferior_ptid.pid (); xsnprintf (filename, sizeof (filename), "/proc/%d/cmdline", (int) pid); /* The full name of the program which generated the corefile. */ - gdb_byte *buf = NULL; - size_t buf_len = target_fileio_read_alloc (NULL, filename, &buf); + gdb_byte *buf = nullptr; + LONGEST buf_len = target_fileio_read_alloc (nullptr, filename, &buf); gdb::unique_xmalloc_ptr fname ((char *)buf); - if (buf_len < 1 || fname.get ()[0] == '\0') + if (buf_len < 1 || fname.get () == nullptr || fname.get ()[0] == '\0') { /* No program name was read, so we won't be able to retrieve more information about the process. */ -- 2.47.1