{"id":2222922,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2222922/?format=json","web_url":"http://patchwork.ozlabs.org/project/glibc/patch/20260414021708.3062753-2-marocketbd@gmail.com/","project":{"id":41,"url":"http://patchwork.ozlabs.org/api/1.1/projects/41/?format=json","name":"GNU C Library","link_name":"glibc","list_id":"libc-alpha.sourceware.org","list_email":"libc-alpha@sourceware.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260414021708.3062753-2-marocketbd@gmail.com>","date":"2026-04-14T02:17:06","name":"[v5,1/3] stdio-common: Add regression test [BZ #34008]","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"d67bb65acef2d0f51d39bb9a4a49033a1c26bfd8","submitter":{"id":92898,"url":"http://patchwork.ozlabs.org/api/1.1/people/92898/?format=json","name":"Rocket Ma","email":"marocketbd@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/glibc/patch/20260414021708.3062753-2-marocketbd@gmail.com/mbox/","series":[{"id":499766,"url":"http://patchwork.ozlabs.org/api/1.1/series/499766/?format=json","web_url":"http://patchwork.ozlabs.org/project/glibc/list/?series=499766","date":"2026-04-14T02:17:05","name":"Re: [PATCH v4 2/2] stdio-common: Fix buffer overflow in scanf %mc [BZ #34008]","version":5,"mbox":"http://patchwork.ozlabs.org/series/499766/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2222922/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2222922/checks/","tags":{},"headers":{"Return-Path":"<libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":["incoming@patchwork.ozlabs.org","libc-alpha@sourceware.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","libc-alpha@sourceware.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=f1/32FaK;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=f1/32FaK","sourceware.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","sourceware.org; spf=pass smtp.mailfrom=gmail.com","server2.sourceware.org;\n arc=none smtp.remote-ip=2607:f8b0:4864:20::1229"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fvnxV5Gplz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 12:18:06 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id DD6004BA23C4\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 02:18:04 +0000 (GMT)","from mail-dl1-x1229.google.com (mail-dl1-x1229.google.com\n [IPv6:2607:f8b0:4864:20::1229])\n by sourceware.org (Postfix) with ESMTPS id E4C104BA2E29\n for <libc-alpha@sourceware.org>; Tue, 14 Apr 2026 02:17:43 +0000 (GMT)","by mail-dl1-x1229.google.com with SMTP id\n a92af1059eb24-12c1a170a50so4971016c88.0\n for <libc-alpha@sourceware.org>; Mon, 13 Apr 2026 19:17:43 -0700 (PDT)","from localhost ([23.94.240.252]) by smtp.gmail.com with UTF8SMTPSA\n id\n 5a478bee46e88-2d5629b31f5sm18651794eec.24.2026.04.13.19.17.42\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 13 Apr 2026 19:17:42 -0700 (PDT)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org DD6004BA23C4","OpenDKIM Filter v2.11.0 sourceware.org E4C104BA2E29"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org E4C104BA2E29","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org E4C104BA2E29","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776133064; cv=none;\n b=t3R6j7o0rznnhicUiW5L5dumo/8FszmSLexCtfKznUCfkZ8Y9USeuDCtLMtaVH2WsJjRytusmTSh0xodd/W79/fYS2MkIpQngEsPQ66HqsmuRk1sjmZ9lT4NaqrtizambwbLCzCSWqsE9j7GqVcFnLVPxnW+ZC9PaUG0x7Cncms=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776133064; c=relaxed/simple;\n bh=7FJFhepoiPBivZuwP/kRUvQLJ7NJQ7wCz7wPK+w7mpI=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=WGejqooSjATK32nzqsbvTduXAcViuG/VqQYw22RY9NOW6KhSzUUQqaqbb2qsXjlLW4CtsbfBp8Ghl2bAEUusBdREr1QmjFx4kL6yDAFDhjlASycSZRRVj4A3ludAi7FnjGo2BywEGQShwZnVgnyJMitS4dWfURhuUAeEta2Hcvc=","ARC-Authentication-Results":"i=1; server2.sourceware.org","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1776133063; x=1776737863; darn=sourceware.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=eKQK+jywK+7hnhxsj6eUl5mHm+bcg/W7AEC35LmGlpg=;\n b=f1/32FaKljJ3ImRTszIq67KL0xAohjlXnRsxbf0Fc/DVR6sPYBLL9lZrg6MXfZl/x8\n oHYYe/2vNr5xcVHSNvi4jnWQj7Sm/uo3w4lB9xpgiJGpeZeGTBGkJ8+qx418ynfO62Nh\n lvQaCzvvsr0SmghICmjE36vyPn+wKWSFJ4wuG0H+jueq5NXzr+7UpOSmzP/Xy/lsZUYy\n hk6gl+Xs/IofQsSkdH38yCQiCzUjhiA095sGpSsF1enMiv4jb3NXHm96qqWSgQ2BM36B\n GeC7/2xjfbQnaQzo5ejJabdOmR/kZbcklB9JmjZ8mIgC7ixv+fEuaAb4ePVp+I8ue/zS\n mkOg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776133063; x=1776737863;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=eKQK+jywK+7hnhxsj6eUl5mHm+bcg/W7AEC35LmGlpg=;\n b=GJIMFqqiIiRtkEhlkT4EZXlodmPblr0C5PusnVpgTYMl5XTYJ8RGDjLDsWA51qTYkW\n VijxBsuw/MVmzAp4g0UiAKEIqDHvR8Fg+1kKJAp8XmYfZWgn5zKG+QLuWmBNRiCK/o1N\n i8gIvu/Hoh0aCjL5xkMNzl0sBEhNJNU2+2VtXgHoIqjb53Q1kMd8NDR2DgTJvw3dw3GK\n mjg1k/VoCwRNYtHF2gZL8DieukpV8D/i9H98IWd1sOY/6y4E+t2rla/CVx/VjxhxA1yR\n ubVS9s9k3xdnjScOnaqWMuK1yYIJvkq9LTOtY2E1oXpxX0V5CQ+qkJpW9LPrASlZoSnx\n rooA==","X-Gm-Message-State":"AOJu0Yyxjh+cMX14r9sTdPkrPNPFLN65dZoZTnqJQzqSQWmy3FzxF1zU\n Npjb3yVPRAL1jeVHgvTQ1Jz6MiuWC6JyDp/tdTeAYd+sEJuVkL5mxU4ENJO7JMci","X-Gm-Gg":"AeBDieuM4s8XNtleKYIDu3c7QPY+gHHy33sGddXpFi+3i5bJholGiwb0F9w93oodnSR\n tDkbvBUAuPpk2ktU8BBwhC+MQILQh38wHll5jRtQTugqj8FuNgxrHo9s4/6rdt0GZclS/RZw52G\n NiMxvrqHAlGBJvAUpUxghgJC5bsCmuF5EpCF19ZxiocyJdNdg72BANLf1dIppspI160r9jXBg3d\n gECG73RhDQmNKo4AWNEM4lIRaZvW1lE5oi3A/MmQu0h8mnMHtsyaWK0KZuzDGPCWlPPk9gYu1TF\n gL6s6Olodi4Xz06rbB4rR3L38OXICx1B653opo9fdHesjdAJNiMFyA+ags3jhZ6sn+Gg1VyyyYt\n GOis0RP+ERvwam4EfcPttEcYmLy8aSXrl/4Bp7bsmEg1C44qlEvToJsi0YGHymuz6kUGaYPothU\n a+8tpFMRqPxyvUqjOKQW4AE2kX0a+eoA2Pcb/hpw+TEeTthrpxvMdc7gCTuMAYi+EP+GhFhiOSA\n L4IcDmPkRRt1RUd93ONFkmyuo+DJHVWwfiPPdzV+u/6gjnHjMxnrR0XOWFv3TodsLhq5ZM3u44=","X-Received":"by 2002:a05:7301:4190:b0:2d8:e60e:a1cb with SMTP id\n 5a478bee46e88-2d8e60ea998mr3676279eec.30.1776133062837;\n Mon, 13 Apr 2026 19:17:42 -0700 (PDT)","From":"Rocket Ma <marocketbd@gmail.com>","To":"Carlos O'Donell <carlos@redhat.com>","Cc":"libc-alpha@sourceware.org,\n\tFlorian Weimer <fw@deneb.enyo.de>","Subject":"[PATCH v5 1/3] stdio-common: Add regression test [BZ #34008]","Date":"Mon, 13 Apr 2026 19:17:06 -0700","Message-ID":"<20260414021708.3062753-2-marocketbd@gmail.com>","X-Mailer":"git-send-email 2.47.3","In-Reply-To":"<20260414021708.3062753-1-marocketbd@gmail.com>","References":"<20260414021708.3062753-1-marocketbd@gmail.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-BeenThere":"libc-alpha@sourceware.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Libc-alpha mailing list <libc-alpha.sourceware.org>","List-Unsubscribe":"<https://sourceware.org/mailman/options/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=unsubscribe>","List-Archive":"<https://sourceware.org/pipermail/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-request@sourceware.org?subject=help>","List-Subscribe":"<https://sourceware.org/mailman/listinfo/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=subscribe>","Errors-To":"libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org"},"content":"* stdio-common/tst-vfscanf-bz34008.c: This separate regression test is\nadded to test if BZ #34008 is fixed.\n\nSigned-off-by: Rocket Ma <marocketbd@gmail.com>\n---\n stdio-common/Makefile              |  4 +++\n stdio-common/tst-vfscanf-bz34008.c | 48 ++++++++++++++++++++++++++++++\n 2 files changed, 52 insertions(+)\n create mode 100644 stdio-common/tst-vfscanf-bz34008.c","diff":"diff --git a/stdio-common/Makefile b/stdio-common/Makefile\nindex 210944837e..0c0085e607 100644\n--- a/stdio-common/Makefile\n+++ b/stdio-common/Makefile\n@@ -349,6 +349,7 @@ tests := \\\n   tst-vfprintf-user-type \\\n   tst-vfprintf-width-i18n \\\n   tst-vfprintf-width-prec-alloc \\\n+  tst-vfscanf-bz34008 \\\n   tst-wc-printf \\\n   tstdiomisc \\\n   tstgetln \\\n@@ -564,6 +565,9 @@ tst-printf-bz18872-ENV = MALLOC_TRACE=$(objpfx)tst-printf-bz18872.mtrace \\\n tst-vfprintf-width-prec-ENV = \\\n   MALLOC_TRACE=$(objpfx)tst-vfprintf-width-prec.mtrace \\\n   LD_PRELOAD=$(common-objpfx)/malloc/libc_malloc_debug.so\n+tst-vfscanf-bz34008-ENV = \\\n+  MALLOC_CHECK_=3 \\\n+  LD_PRELOAD=$(common-objpfx)/malloc/libc_malloc_debug.so\n tst-printf-bz25691-ENV = \\\n   MALLOC_TRACE=$(objpfx)tst-printf-bz25691.mtrace \\\n   LD_PRELOAD=$(common-objpfx)/malloc/libc_malloc_debug.so\ndiff --git a/stdio-common/tst-vfscanf-bz34008.c b/stdio-common/tst-vfscanf-bz34008.c\nnew file mode 100644\nindex 0000000000..af746821fb\n--- /dev/null\n+++ b/stdio-common/tst-vfscanf-bz34008.c\n@@ -0,0 +1,48 @@\n+/* Regression test for vfscanf %Nmc out-of-bound write (BZ #34008)\n+   Copyright (C) 2012-2026 Free Software Foundation, Inc.\n+   This file is part of the GNU C Library.\n+\n+   The GNU C Library is free software; you can redistribute it and/or\n+   modify it under the terms of the GNU Lesser General Public\n+   License as published by the Free Software Foundation; either\n+   version 2.1 of the License, or (at your option) any later version.\n+\n+   The GNU C Library is distributed in the hope that it will be useful,\n+   but WITHOUT ANY WARRANTY; without even the implied warranty of\n+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n+   Lesser General Public License for more details.\n+\n+   You should have received a copy of the GNU Lesser General Public\n+   License along with the GNU C Library; if not, see\n+   <https://www.gnu.org/licenses/>.  */\n+\n+#include \"malloc/mcheck.h\"\n+#include <stddef.h>\n+#include <stdio.h>\n+#include <string.h>\n+#include <wchar.h>\n+#include <stdlib.h>\n+#include <malloc.h>\n+#include <support/check.h>\n+\n+#define WIDTH 0x410\n+#define SCANFSTR \"%1040mc\"\n+static int\n+do_test (void)\n+{\n+  mcheck_pedantic (NULL);\n+  char *input = malloc (WIDTH + 1);\n+  TEST_VERIFY (input != NULL);\n+  memset (input, 'A', WIDTH);\n+  input[WIDTH] = '\\0';\n+\n+  char *buf = NULL;\n+  TEST_VERIFY (sscanf (input, SCANFSTR, &buf) != -1);\n+  TEST_VERIFY (buf != NULL);\n+\n+  free (buf);\n+  free (input);\n+  return 0;\n+}\n+\n+#include <support/test-driver.c>\n","prefixes":["v5","1/3"]}