From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id izu2FoNaRWr4fyEAWB0awg (envelope-from ) for ; Wed, 01 Jul 2026 14:20:51 -0400 Received: by simark.ca (Postfix, from userid 112) id 4D2751E024; Wed, 01 Jul 2026 14:20:51 -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 [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 8765B1E024 for ; Wed, 01 Jul 2026 14:20:50 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A99C34BA2E1F for ; Wed, 1 Jul 2026 18:20:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A99C34BA2E1F Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) by sourceware.org (Postfix) with ESMTPS id 8DC3D4BA2E08 for ; Wed, 1 Jul 2026 18:20:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8DC3D4BA2E08 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=palves.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8DC3D4BA2E08 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1782930023; cv=none; b=VmEmEBHtl5bX8d/NigT9NWyVPdzMKWLHuQTuMDE0wH8/+p1SHdsYxQVyc8gfpCXlCnVwtDYeDvhUGgNAHzMdk+9SXH0JEc2aF69Qz8oMrOEgNUu9dTu6j/qwqAEXunl2juURu+F0Dk2APwGZLojoTOik7FBNZSwjxBe0d9fgx8s= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1782930023; c=relaxed/simple; bh=ZVoBs/CeRXF1Js8UXymaLIb+zcf5JLp4Vma7xHutfUs=; h=Message-ID:Date:MIME-Version:Subject:To:From; b=iTlbdPjWErlwoGLmTnDe+HCiPIF04fUXtrKhR7AJDvZeDjdzdCgpf4wZaNbNyIFa4Bp+TEo/ajTKJ2/BqEt+d2SCWYcv2QDl20Cj2o4VtH1Q7Ic5Ong0WvRTxl6GOvAKkHiC0E+tQLFnXHIyu9B44foPZqKfG9XOjO2JscTpTUo= ARC-Authentication-Results: i=1; sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8DC3D4BA2E08 Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-493be1b9682so7271965e9.2 for ; Wed, 01 Jul 2026 11:20:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782930021; x=1783534821; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=k7JRCyw4q7PdnW6ChxGDKaY2ENYSQZJExwwWhyQhCDk=; b=P5k83W+UrUtlwE9WgFiOlgJZe9+alqrpoJRaDtFmhzSRPCB7oJydUa8y5K/0GYQWxU /BmfL1aRQu4bcWvM3WsW8tnFvD7p4ZpamJG1AD3iFLpstDheUPuBnhUmRmxbBoMgIIe7 +MB/SOynUjXbrr6FiNwMr9z4+FEYTogFojsIr+Pj7lwaDlqaKpDDUKgDEJSRLrqvKiSL bFEFIpnWkYoodVNz4kbI2KdKjbs24hY67GVK3WIZ7xegPGz3s5uqo36+4sP033VHJA4t 0o/jrjPOSdzqCgk/ifeoSKqkWLyP6DM7JYIZ04yJhTovIzSi3F6P5pm7zYz/zErHZDT8 WdKg== X-Forwarded-Encrypted: i=1; AFNElJ99Fb9gL7GQuXTvF6k+1H0TvehHTnABQK7eEie86fpMsPDzhF/MMnmtXGufz+g43TA18C05VjuUVtc06Q==@sourceware.org X-Gm-Message-State: AOJu0YzGs1vp0LCrSk/ZkMHmmvtpBBWA+YXljOzb0KHW5F+Y0ZsX09kz nx6UGAO6jEs0HkYIPbDvX3pMHDqEkAPRIa6lpeYSj+hyWrthIZ3J4Lqt X-Gm-Gg: AfdE7cnK5DtBcABFBhWS7V6UBQ48d6MYEouMNjtvUlpqoJpiUntxsXWKmGtOODjfE6+ MN2tsOzh5WtAqu6v0tO/3Tfq8wleMODk5cyeMIs4OcWQ5qDEnuQbikdSEqUFLW2B3PzX7AN3OFo hrXLyuS6yoB7zWA1R7ODAqdiIHtZ0DFcnuPpU8Nclrq0MmytD5+LtJJFNBsNlLAk9YZEy0N8hhb cgI9TsTAJkAtF6E+jLWjHX1xN979SGe0WlYfz/BfQjO8S+HqcMj8A5BEPXR/I8w6Yh0iagI0+vt k6CNtRrb1nmw+DroatZXhYEj8NXk7SZHPg2sn3oYXtta6FaC9425KjJgI8ruLwc9bDojZq+g13M ys9v8qqpfF5fz/A4OG1RjQlsfJIbnz6/vHHabfXRRLD51kXH0a+SGPXDrYux3AMcY1ZUnj0rlnu ORT/CjIN+CPBGR82BYgeyT43f4M8O0E/0zvCdAl2THcIkAxU7H7b/eGPQ= X-Received: by 2002:a05:600c:5297:b0:493:a5da:e5d2 with SMTP id 5b1f17b1804b1-493c2b93614mr41519255e9.26.1782930021388; Wed, 01 Jul 2026 11:20:21 -0700 (PDT) Received: from ?IPV6:2001:8a0:fac2:7700:16f0:8919:779f:a439? ([2001:8a0:fac2:7700:16f0:8919:779f:a439]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493be4c7f2csm110078455e9.3.2026.07.01.11.20.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 01 Jul 2026 11:20:20 -0700 (PDT) Message-ID: Date: Wed, 1 Jul 2026 19:20:19 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] gdb: replace alloca with gdb::unique_xmalloc_ptr in remote-fileio.c To: Luis Machado , gdb-patches@sourceware.org Cc: guinevere@redhat.com References: <20260630095238.1700797-1-luis.machado@amd.com> <20260701150714.3124191-1-luis.machado@amd.com> From: Pedro Alves Content-Language: en-US In-Reply-To: <20260701150714.3124191-1-luis.machado@amd.com> Content-Type: text/plain; charset=UTF-8 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 On 2026-07-01 16:07, Luis Machado wrote: > char *c; > LONGEST retlong; > @@ -211,6 +213,11 @@ remote_fileio_extract_ptr_w_len (char **buf, CORE_ADDR *ptrval, int *length) > *buf = c; > if (remote_fileio_extract_long (buf, &retlong)) > return -1; > + /* Reject negative lengths and zero (unless the caller permits it for the > + Fsystem NULL-cmdline sentinel). Oversized names are caught by the > + syscall. */ > + if (retlong < 0 || (!allow_zero_length && retlong == 0)) > + return -1; Given this no longer limits on PATH_MAX, RETLONG can be higher than INT_MAX and still positive, and then the cast below yields bad values: > *length = (int) retlong; Like, e.g., (int) 0x80000000, wraps to INT_MIN (a negative length). So we should limit on INT_MAX. > + /* Valid: largest positive length accepted (technically INT_MAX). */ > + SELF_CHECK (parse ("1/7fffffff") == 0); > + SELF_CHECK (length == 0x7fffffff); This test would have caught it, I think: SELF_CHECK (parse ("1/80000000") == -1);