Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1xBsyB-00000003RAi-423i for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Sep 2026 11:59:31 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.98.2) (envelope-from ) id 1xBsyA-00000002AU2-2MLl for pgsql-hackers@arkaria.postgresql.org; Wed, 30 Sep 2026 11:59:30 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1xBsyA-00000002ATt-0mWE for pgsql-hackers@lists.postgresql.org; Wed, 30 Sep 2026 11:59:30 +0000 Received: from fout-b1-smtp.messagingengine.com ([202.12.124.144]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1xBsy8-0000000220z-2OoT for pgsql-hackers@lists.postgresql.org; Wed, 30 Sep 2026 11:59:29 +0000 Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailfout.stl.internal (Postfix) with ESMTP id 68DD71D0006D; Wed, 30 Sep 2026 07:59:27 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-02.internal (MEProxy); Wed, 30 Sep 2026 07:59:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kurilemu.de; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :reply-to:subject:subject:to:to; s=fm3; t=1790769567; x= 1790855967; bh=NUrJztSLwiMdFarMZX8IenNuc7LWifUBh/qfu94/jPg=; b=C qYLx20xia2RvNAMnf46NX8+bfTHXm/QVYyfsmz8+tMdhq5RuE1/6rdS17v367Pw9 KDz5XagChKF9ZhxD5MVNnOHs7qLGUdd5OWfRZUhM4hUfU2O2VKvfO4LTBN5eGkws BDrcwjr/jYFZEEa38G8ZD8JHc6WUZtbDFh0qzZa+YX2Yhnl0puD8cwrIpqaNmENM +lr2G2lVdA00UcDLE8kqfR6XUc+QmCvoyRX6NRbTQbgjUIj38Xs0D2zQ7hcJhGoL bt2YakLb4APq+rm0/XwfAfnqBhhb2s2ChBlWNKRV/y7lXypF/OLHM4DDQMdn1tmD SRciSc8HUn46XL3kzHSiw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; t=1790769567; x=1790855967; bh=N UrJztSLwiMdFarMZX8IenNuc7LWifUBh/qfu94/jPg=; b=ihDncOd3ES/BEG7Jy jHowcSej/sLvSCbNFQ+DXYfT2wWwYPBuz5PkBISD5HkmhQEyBX4gzWr7ypiKVIMa Imh5S/a6u9Jj1abWjR0ufcaif5OCXNxXkPXMY1nKXoeO8PPphZYLVfUv8lVaPsF1 ZfK0nrfmqfIVU1q5AGxleDIJsyu8JuU45rwrnBXr8RN54ybX9W1DtoYXbv1iPplV 75JMLqw3ggso0XrDdw/xIEXBYIVVwhM6wppa/ZP5niy26X5SlObhJwX3c2XkwLi3 V16uD2JYrGGJQhFiW1mTW0fMvjxUpKJ3aTDVr3ffc1b12roNIbfpcniZLz8kaNIx 0zOjQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTFSCThVhJ3rqOga0VS8lkegdAVMnLRIlGpA62+o9op/i7W03ajol3Z+sDUI3q/syF iGloJwYWSqCF9KM/tKl7zb1pKFjR4vAaUXS/anGAEvCnpt1Rqk+WNVYYgDgZ1LRBQZHlaG 62Z24oKlxZC25lHQ96gvuH5t/9sgUMuzvEnbNYIb1ZOE1Ymte3vWxgkRzTeJEdY+9rDXPn l7nq3WsBzq2GWJH6aqZ+5v3TFQc8eZ8OLU4PGma7j3FOfLVWor5LfUU1lekRHZsYraiGb2 CbO9cvYGm0GMyEVZNHU4k/JTO3sBeOXNZus92xfCZYAPCqLXawgExemCuteNJZSwc1kiTt mBcpK1xlHuEyFmwFFwGYT4Cm9RkEKrrA6p3oMOP97qzr1/eFFkH6mtEgPF4BcK+S0RUVpy U3r7YQ6ogblBxhVYkrO32ainP8On6CX02mCHURLKffgOAjXhIuMdw9A7BBrm44Pb0jXvzW gGRFTdHb1WxhBg5js2RORO7vjw5Z7corsw2AaT+YJIWpbFyya4/fAQQZfkfV5tre9mngpw OgmimRUf70HAUe1grh5CjSRvFvPgqBgjCWkWjE6TZxuQSjqXYhnbAAGEi1yTXsnfhnjN+a pLNLwwLPxGmOzBBo+lQbCxhewvmJjbk8ISnz2XUKXXBSil6Q2+U7vmv2pgsw X-ME-Proxy: Feedback-ID: ie3de48e3:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 30 Sep 2026 07:59:26 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kurilemu.de; s=schmee; t=1790769565; bh=FgrLFWvtfkOP4A53sSJHbmQ4QRCRt1svYw0H9hC8kUw=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=VTv+yWyGX3zOHsyvvirlCKNXWCChD0wkvJcB3YLExRdtOez8Y6wVQxqHS1Zos8IZN O/CHt0FuEXXzEENxL+pmH+0UyhXcE/OF/vLdOTiqsxORhNt/H22VnR0im1y9UCFM22 kTp8pV44EJqQjMXbNWQ5B3bTFSrbdDcqqDFiYBplssq+c38kbZK0AVIZYBD/xFTrBO bUEdQ9m8fV1BKOdC9PbKJmdKW5DndkbC6vxZecqx3x2wgClt9vdIFzrQ2UL0O4cB4N JDydx0yr08EkPZ8+eZYmJquHEgjWOPA6b+jNWqzSpPzxyGNvjMnT7GXy4C6j7fZcz2 RZ5BxjK7F1Xgg== Received: by ida.kurilemu.internal (Postfix, from userid 1000) id AE681B00044; Wed, 30 Sep 2026 13:59:25 +0200 (CEST) Date: Wed, 30 Sep 2026 13:59:25 +0200 From: =?utf-8?Q?=C3=81lvaro?= Herrera To: Daniel Gustafsson Cc: Vadim Shakirov , pgsql-hackers@lists.postgresql.org Subject: Re: [PATCH v1] Fix out-of-bounds access in pg_bsd_indent's parser stack Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 2026-Sep-30, Daniel Gustafsson wrote: > I haven't read the patch, but reproducers of bugs are good to have. Is there a > pattern which hits this out-of-bounds access? Fun. I did this (echo "int main() {" ; for i in `seq 1 256`; do echo "if ($i) "; done ; echo "switch (argc) {case 1: break;}}" ) > pgindent.c which produced a smallish file: $ ls -l pgindent.c -rw-rw-r-- 1 alvherre alvherre 2497 Sep 30 13:52 pgindent.c then ran pg_bsd_indent on it, which caused a segmentation fault and ended with a somewhat larger file $ ls -l pgindent.c -rw-rw-r-- 1 alvherre alvherre 599314432 Sep 30 13:53 pgindent.c That size was the entirety of the free disk space in that partition. After applying this fix, it doesn't crash anymore, and merely dies with a "Parser stack overflow" after having written up to "if (251)". -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ “Cuando no hay humildad las personas se degradan” (A. Christie)