From patchwork Thu May 8 13:07:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 888582 Delivered-To: patch@linaro.org Received: by 2002:a5d:4683:0:b0:38f:210b:807b with SMTP id u3csp877222wrq; Thu, 8 May 2025 06:08:02 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVeH+OWFKJhQYshXYIcQ4FhEKNqMJDZH4ccfT++TLXSOyghgavItu8jx2MOQE+ig6QqW0DgYQ==@linaro.org X-Google-Smtp-Source: AGHT+IFgYY44oNV7rKrtCWe1G6rJykvhm6K65KkZVyfrQGhsG4rf6WzaC4CokPN45+KwVbGC75b3 X-Received: by 2002:a05:600c:5307:b0:441:b5cb:4f94 with SMTP id 5b1f17b1804b1-441d44bc688mr67274845e9.5.1746709682550; Thu, 08 May 2025 06:08:02 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1746709682; cv=pass; d=google.com; s=arc-20240605; b=cPmRGUQiXZ7I7gBGAuVFczYp4ky5LLH7wpoNSgt52mQHRhKMVVDgEHWf4sIsUaqUC0 twkj7dxuqGq42xvEYLjkk/5LOLvsbz6HGkDoqCrkA62g8Dl9wGxBNykaBB/dSJ+0Z7ou wu2p7yBXEJRtIQvVhIppVoH0S8b+NF3Qz4I4PdX2+OZLIztX0pcl8T8aLdK4fMQWXjac Y77mfWzSoyxDeSRummyQJ1mQwb0B8vwPEdgn3E7HzU+bjKUkIzwS7bM2rqHJ8DjC8EVM UFe+1cyBOtFvtvyIdfozHynhC8vAs55rYbu4JvSWjELFcCAsRT7MQhw7Au4VFSupZB6z 5Zqg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature :dkim-filter:arc-filter:dmarc-filter:delivered-to:dkim-filter; bh=XdWsUhHcJgyNI2zkKb1U8DMuVIT8e6oJJ8fHMloSr+M=; fh=v2Nv3k9i7Amxu65q1mEuFELTOLzYYycJBMRhbhFxZhE=; b=BYTuujJs3o0b1XomlQPs1Q7TAb3PrIa4TeqnLcVOuX+VV1TeLpHMNa3c8A97SssW9E oK25viPP3h7OO9s3B8BbPArPAZG4d7X9R8p/bHGwlDWtbsc0ZavrVR4OrFZctpnGkSFt q1nqq57FAr9rzGwxUc7849UUStp5j09hO9oVD1WNrTRA1noctj2JpWoygvlN48ElvcGE Dv9Nu55af94reTaYnLVYtBiiX870yWvHH4LlDmW6OT2WIhbZwOibnRmmfU4Dm856Sgez IdRc7tYWF1RxO9HY0vRXy8bLt+6FujbfmjiuOfwODNmFaWzop4i2GTMspvF8cvnDXsLc Q4/A==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=c5904KBm; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id ffacd0b85a97d-3a0bdcdc3ecsi772248f8f.576.2025.05.08.06.08.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 May 2025 06:08:02 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=c5904KBm; arc=pass (i=1); spf=pass (google.com: domain of libc-alpha-bounces~patch=linaro.org@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="libc-alpha-bounces~patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B2B163858406 for ; Thu, 8 May 2025 13:08:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B2B163858406 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=c5904KBm X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-oi1-x229.google.com (mail-oi1-x229.google.com [IPv6:2607:f8b0:4864:20::229]) by sourceware.org (Postfix) with ESMTPS id 75D713858C62 for ; Thu, 8 May 2025 13:07:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 75D713858C62 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 75D713858C62 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::229 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1746709657; cv=none; b=KymSZNtkJPV6LsIkCx5O15zz96gxg4YXIOAIrLWVPP8xQz65aio1M2zA2JjGS3bZ2xair/1oUKR3d5SPrywWLUG0EcQIWEUBKdjHjrx9bb8p4A8lsPNWCOWQo5PG2e3js4q3MgiYp/1Mb3hF/7e+wnQiIetHPw3+MCpQGHuV5C4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1746709657; c=relaxed/simple; bh=8CjDTWXgagQudA5FtXAjip4vUeDoD2A9luZ8vsNvBgc=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=dQDG/knVglqJHq714OdGVqu6EtF2MhN8O9eUzm1OJ5Cilhdlv1qsLifmeqyCspBW3QBckWzQlGlRW7t0RZInsZTlqpXzXB9mKXsXRPsg7ajzs8/nd98QVso0psH1cZiXDad024AqRNK+/v77F33ogNI/CHCakXxZzf3okG46xTg= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 75D713858C62 Received: by mail-oi1-x229.google.com with SMTP id 5614622812f47-4033c70577fso624089b6e.0 for ; Thu, 08 May 2025 06:07:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1746709656; x=1747314456; darn=sourceware.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=XdWsUhHcJgyNI2zkKb1U8DMuVIT8e6oJJ8fHMloSr+M=; b=c5904KBmGRaKjjpWQQnxXniFo/AAlFmYxVijt2IiHzcpIi2JV3GKuvNNOiO+mwA+u/ pYDzeVp3T+Pp7MzWh0tQu6xpTW1/iHHnjGGqIeph+HmEm07B7J8+tCKzX26rQ1yz2X/C glQkxWhS34hn19sUtMJIQjlGwhSJluL94JBGXC2SiKi/9KoDRA3gAXH8YJbda1hXjWH1 8O52GrmnUicejIxM7vLCd+ERXXNEr0rMlzGEbPaWgT7qEAAv4e7qscHUEb/3C9CdA3OH yPy6iAMDnm1Yzpr88Ao5jlmxhhjvnsvygIaih0J9J+Rr9fDOzxXFvntqABw+qIuQV5tG QJiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746709656; x=1747314456; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=XdWsUhHcJgyNI2zkKb1U8DMuVIT8e6oJJ8fHMloSr+M=; b=u6hiYjHLZutOu4XB6IKa/g+fPjE5czKDzp6ax0v7HnavHxGLMt8jpHWMDjKVxEr+Z9 2T7lN+WzVXtW/tq7mzEBGPSncHrI2pue6sPlNJctXSUfiBBFElmWfL0Y5gUcAKi4rR0+ Lg+bFetOo+x9hG1e/9NQF2MkYAYaEYdzSiiYmoAGTFndPCDjkmngbdo0chtJ3vXBZSfK hstD3YGxOL/ssK6dhsUGLW9R0nrGdU6PIhze4NYM8TNUKGT2jT5Z/LY2E9Vsevy/Mws4 GXdeRCpBXBdJSP1YkWW+uJQETfQQMI4q2lrfNZz0nuKZA2SI1tfbRMyo4WQAy96u+vkf 3aeA== X-Gm-Message-State: AOJu0Yxqauk1CuSoyXJ2gNGkOLAADdoGVOrqbxxMqGHhYtPi1T9cWAMw TfAD4QV2+o0jhrMumVJrkxsIXV+dWJc4q4qB/1d6VdX2NUxVf3Y/gqm6zklfJkqUVeS+G2aLJ8G FfXQ= X-Gm-Gg: ASbGnctXCXKl7dgyjBbiQ09HMgrgw2R5KfRat5bA8NqeaDtubLubRGXWJ7R1QFK3m0U A1K3+SMlbghzlaZjEH/pwvuy+q5V3bWBcrTCdkdpxkTxt4amsm3rMG8dMj5WzR/gbhwXYjsbb30 iAkJataG49Ox6kd719TasdfkyoKCxwFIdBqELjgLxZ+S6osEsgv2kHTFt0Ej3W6R7jWgWPmAPKq CtSlVrJSwdGYuSZhlOkNv6enQ4yUHUgmViX5S9rIVYCARbY9ae+eBF1jHTSkopP4ahLpmu2lyH/ fvpyXRt6TTszwS+u5hvjkU9/HcRw9BjLuPQrCrTvINUtKrOxzN5XbA== X-Received: by 2002:a05:6808:200b:b0:3fe:b0ad:f935 with SMTP id 5614622812f47-40377ec0827mr1867935b6e.4.1746709656308; Thu, 08 May 2025 06:07:36 -0700 (PDT) Received: from mandiga.. ([2804:1b3:a7c0:2a60:f5f4:103d:d175:59eb]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-52ae41f0b13sm3029657e0c.41.2025.05.08.06.07.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 May 2025 06:07:35 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: Carlos O'Donell Subject: [PATCH v2] stdlib: Fix __libc_message_impl iovec size (BZ 32947) Date: Thu, 8 May 2025 10:07:06 -0300 Message-ID: <20250508130732.2068630-1-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patch=linaro.org@sourceware.org The iovec size should account for all substrings between each conversion specification. For the format: "abc %s efg" The list of substrings are: ["abc ", arg, " efg] which is 2 times the number of maximum arguments *plus* one. This issue triggered 'out of bounds' errors by stdlib/tst-bz20544 when glibc is built with experimental UBSAN support [1]. Checked on x86_64-linux-gnu. [1] https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/azanella/ubsan-undef --- Changes from v1: * Add bug report. --- sysdeps/posix/libc_fatal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysdeps/posix/libc_fatal.c b/sysdeps/posix/libc_fatal.c index d90cc6c681..25ef20cfc1 100644 --- a/sysdeps/posix/libc_fatal.c +++ b/sysdeps/posix/libc_fatal.c @@ -61,7 +61,7 @@ __libc_message_impl (const char *fmt, ...) if (fd == -1) fd = STDERR_FILENO; - struct iovec iov[LIBC_MESSAGE_MAX_ARGS * 2 - 1]; + struct iovec iov[LIBC_MESSAGE_MAX_ARGS * 2 + 1]; int iovcnt = 0; ssize_t total = 0;