From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id kRrGKUjp22rPnREAWB0awg (envelope-from ) for ; Fri, 23 Oct 2026 19:10:00 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=JgtsKklf; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=r5PeyEGw; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=JgtsKklf; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=r5PeyEGw; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 6A160378002; Fri, 23 Oct 2026 19:10:00 -0400 (EDT) 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 C4A451E007 for ; Fri, 23 Oct 2026 19:09:58 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 31D9B4BA2E30 for ; Fri, 23 Oct 2026 23:09:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 31D9B4BA2E30 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=JgtsKklf; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=r5PeyEGw; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=JgtsKklf; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=r5PeyEGw Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by sourceware.org (Postfix) with ESMTPS id 73F9D4BA2E0D for ; Fri, 23 Oct 2026 23:09:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 73F9D4BA2E0D Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 73F9D4BA2E0D Authentication-Results: sourceware.org; arc=none smtp.remote-ip=195.135.223.130 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1792796972; cv=none; b=WdGqmUoNrZrJN9i/NHlt795DQCp7onlUCQ67ilu+8/lgjTInEfol39TGNwz1xC3eBblvW2cDiG393oKSRKmd6WDCLXvT6YMhm4D8T8XPrwhZxClX84vfumKM3j5TbzS+8ByWE4p3yVI0pyXg9y2Gik5NyQzBDVrVxwwLwVHdVRY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1792796972; c=relaxed/simple; bh=w7msyLHOsaIHkTx2NhsMazNC9YkkgnYCyKwDn3bpm9s=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:From: To:Subject:Date:Message-ID:MIME-Version; b=uhtpuCnqVr0gvVmN/FMvBJop88C1FifVgfilxzYB6+qtbyjumrnRic+xn74GZDnP0EHu9kW+Jtrl45G1ekrLsYTWuMDNn1KcX2DM90NxtI1fXE6j3nbuBbvvtaQ0iA5IeTcnomHfZ1gz0vv6jQ8q8ucuUyB+2JtWgxss4MPlXJc= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=JgtsKklf; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=r5PeyEGw; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=JgtsKklf; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=r5PeyEGw DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 73F9D4BA2E0D Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 71C60221DD for ; Fri, 23 Oct 2026 23:09:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1792796971; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=2zabGl9Bvi6BPOP/GLo0tm0I15BTCP9SSgIIHqrIx+o=; b=JgtsKklfItp23riZHH0rsUt+8AQYxOwhK0D9Gw1tkwfoirPPb1R47hMhJH/p0YUSp1AOMo sdWI2f+4kbMtMpnbzNWqU0AlMq+qHG+avs20M7SbHWRTeVVejXoLQqfdmT2gx6His+mJBK 445WYiSiNfUHMUMEbDwanuAYoTyrepo= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1792796971; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=2zabGl9Bvi6BPOP/GLo0tm0I15BTCP9SSgIIHqrIx+o=; b=r5PeyEGwO0jxDo9o9KGJ5hjR6dekWPAmGzmmhJZOt+X2svY9KbSLWWADZkyeTXpNgmiDzC Mxw2Ir87KRgu3MDA== Authentication-Results: smtp-out1.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1792796971; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=2zabGl9Bvi6BPOP/GLo0tm0I15BTCP9SSgIIHqrIx+o=; b=JgtsKklfItp23riZHH0rsUt+8AQYxOwhK0D9Gw1tkwfoirPPb1R47hMhJH/p0YUSp1AOMo sdWI2f+4kbMtMpnbzNWqU0AlMq+qHG+avs20M7SbHWRTeVVejXoLQqfdmT2gx6His+mJBK 445WYiSiNfUHMUMEbDwanuAYoTyrepo= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1792796971; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=2zabGl9Bvi6BPOP/GLo0tm0I15BTCP9SSgIIHqrIx+o=; b=r5PeyEGwO0jxDo9o9KGJ5hjR6dekWPAmGzmmhJZOt+X2svY9KbSLWWADZkyeTXpNgmiDzC Mxw2Ir87KRgu3MDA== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 3AA85133F3 for ; Fri, 23 Oct 2026 23:09:31 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id rTo9Oirp22r9JAAAD6G6ig (envelope-from ) for ; Fri, 23 Oct 2026 23:09:31 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH] [gdb/build] Fix Wstringop-overflow Date: Sat, 24 Oct 2026 01:09:30 +0200 Message-ID: <20261023230930.1834289-1-tdevries@suse.de> X-Mailer: git-send-email 2.51.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spamd-Result: default: False [-11.80 / 50.00]; SUSE_INTERNAL_BYPASS(-9.00)[]; BAYES_HAM(-3.00)[100.00%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; NEURAL_HAM_SHORT(-0.20)[-0.999]; MIME_GOOD(-0.10)[text/plain]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; URIBL_BLOCKED(0.00)[imap1.dmz-prg2.suse.org:helo,buf.data:url,text.data:url,sourceware.org:url,contents.data:url]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[gdb-patches@sourceware.org]; RCVD_TLS_ALL(0.00)[] 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 I built gdb with -O3 -flto and --disable-nls on aarch64-linux, and ran into: ... In function 'core_process_module_section', inlined from 'windows_core_xfer_shared_libraries' at gdb/windows-tdep.c:1218:33: gdb/windows-tdep.c:1173:15: warning: writing 1 byte into a region ofsize 0 \ [-Wstringop-overflow=] 1173 | buf.back () = 0; | ^ ... The code triggering this is: ... gdb::byte_vector buf (bfd_section_size (sect) + 1); if (!bfd_get_section_contents (abfd, sect, buf.data (), 0, bfd_section_size (sect))) return; buf.back () = 0; ... The warning triggers about the (unlikely) possibility that "bfd_section_size (sect)" is UINT64_MAX, so effectively we have "gdb::byte_vector buf (0)", which makes buf.back () undefined behavior. Fix the warning by dropping the "+ 1" and using push_back instead of back. Likewise in two other spots. Tested on aarch64-linux. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=34878 --- gdb/corelow.c | 4 ++-- gdb/windows-tdep.c | 4 ++-- gdb/xml-support.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gdb/corelow.c b/gdb/corelow.c index cd36882a12c..86ab0b1257a 100644 --- a/gdb/corelow.c +++ b/gdb/corelow.c @@ -1724,13 +1724,13 @@ core_target::read_description () tdesc_note_size = bfd_section_size (tdesc_note_section); if (tdesc_note_size > 0) { - gdb::char_vector contents (tdesc_note_size + 1); + gdb::char_vector contents (tdesc_note_size); if (bfd_get_section_contents (m_core_bfd.get (), tdesc_note_section, contents.data (), (file_ptr) 0, tdesc_note_size)) { /* Ensure we have a null terminator. */ - contents[tdesc_note_size] = '\0'; + contents.push_back ('\0'); const struct target_desc *result = string_read_description_xml (contents.data ()); if (result != nullptr) diff --git a/gdb/windows-tdep.c b/gdb/windows-tdep.c index e9bf4398d83..dcab6afde94 100644 --- a/gdb/windows-tdep.c +++ b/gdb/windows-tdep.c @@ -1164,13 +1164,13 @@ core_process_module_section (bfd *abfd, asection *sect, cpms_data &data) if (!startswith (sect->name, ".module")) return; - gdb::byte_vector buf (bfd_section_size (sect) + 1); + gdb::byte_vector buf (bfd_section_size (sect)); if (!bfd_get_section_contents (abfd, sect, buf.data (), 0, bfd_section_size (sect))) return; /* We're going to treat part of the buffer as a string, so make sure it is NUL-terminated. */ - buf.back () = 0; + buf.push_back (0); /* A DWORD (data_type) followed by struct windows_core_module_info. */ if (bfd_section_size (sect) < 4) diff --git a/gdb/xml-support.c b/gdb/xml-support.c index 0e33ce54d12..4467f395f9a 100644 --- a/gdb/xml-support.c +++ b/gdb/xml-support.c @@ -985,7 +985,7 @@ xml_fetch_content_from_file (const char *filename, const char *dirname) len = ftell (file.get ()); rewind (file.get ()); - gdb::char_vector text (len + 1); + gdb::char_vector text (len); if (fread (text.data (), 1, len, file.get ()) != len || ferror (file.get ())) @@ -995,7 +995,7 @@ xml_fetch_content_from_file (const char *filename, const char *dirname) return {}; } - text.back () = '\0'; + text.push_back ('\0'); return text; } base-commit: 44bc3b1dc42a8b5a3b472320eda15cc440b66966 -- 2.51.0