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.96) (envelope-from ) id 1wFzN8-005lwj-0y for pgsql-hackers@arkaria.postgresql.org; Thu, 23 Apr 2026 19:05:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wFzN7-0031nN-00 for pgsql-hackers@arkaria.postgresql.org; Thu, 23 Apr 2026 19:05:57 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wFzN6-0031nF-2H for pgsql-hackers@lists.postgresql.org; Thu, 23 Apr 2026 19:05:56 +0000 Received: from mail-qv1-xf29.google.com ([2607:f8b0:4864:20::f29]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wFzMx-00000002heV-3QtX for pgsql-hackers@postgresql.org; Thu, 23 Apr 2026 19:05:50 +0000 Received: by mail-qv1-xf29.google.com with SMTP id 6a1803df08f44-8a5800772f3so51690936d6.2 for ; Thu, 23 Apr 2026 12:05:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1776971145; cv=none; d=google.com; s=arc-20240605; b=PaUyyIx3faSFjdxJoKC2hxC6Ou5OtyMD4p+a3z2Q/ieeXJDX20EHMKZtkIrIW7MeyS bVpmADAhrKuzXai+EHbZD6i0j7RN3McPNTEBXhvaruXK7VEGHQ3D5TEeFtqoZwCFth+U 186g2Ksl/reTKHVPcdk3OKT6BoR08pKGMg0plvCzziu0UV7pXbJV1pNSmVcp/BFgTWrq udWEmpqKTsNIy+1xfgY0Yt/gE5kcYTVJsE3dSchF8C9ozUnAoR38BwByLokStHj4GpLL K1Pz4+qEFJAlJKhw9258XANeQMhkxXXpLCG5a/2UIJAKSYqL7MpZS90HxcmxrEiEiwiw AGUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=MFbrj6uV2t1/7kItpcHXfZKNTlYwvtWGV3sLNDQpUTw=; fh=RBPBvtmlYVZgVPTUjyzR0qkJiip+Bzsuj7tbZSlAN44=; b=bdO54MvXySGvnfhDUG03TxLgK93s7bXVmG6HJFKMts4zzsu2HS6a9c+//ewu3pneZC YvCClt0OeMS9WusJqDHPA0OGVQEIvZKTLSApIDxN9OXPwiqrKlmN2L/dClcq1eBlZGFq 9bhghJ18kunjndHtnT4u9mOygy3DHUUUbKmA3HU4HXlbbZ//tbZqY3jDB0+pUgU0OLB6 aqqc9xceNVpBUVzYyScj2rFwCLawMnjJpD9gZdCczO7ge8UdTwkvTQEwtS+nciMeLxRc RN0K1fvcrl+zPREvLQoMMAdJ5MVLH/KwvXUd+4OfGFvkHI+QPgSGLPxB2kkL6H8YtMka 9a2g==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb.com; s=google; t=1776971145; x=1777575945; darn=postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=MFbrj6uV2t1/7kItpcHXfZKNTlYwvtWGV3sLNDQpUTw=; b=TniTWR9IDt/fLW9CfjdfqvM3Dy78lAqjlShiDKIE2a7HjpOp5esPEE5CJNmpLUMlqA ifFrdEg5iGQbj6J1D95Z8CB/f9TAIPwCpC9TDSrEkb5HIePpSFsuVtaho/cor2Yh5t3M GeEO9gIKnxD7W1Pxi+OOxLEcCmQKeni6Fo+vOdxwoehCD/Vj3dMICk05cBx9dbVD5AvG aN5h8bgqf0+Q1bXaHJ4N17uavMhp4x6TWB1rM+Mb+BQoCvmehs8/2yN4jtscJDLmzisx Fm2e3tS7srwrSHRoTwWJd3YeKCeQpncTLObSNY/XjiHrHccqNMK+bAjg32iYnfz+1EXz Tz+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776971145; x=1777575945; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=MFbrj6uV2t1/7kItpcHXfZKNTlYwvtWGV3sLNDQpUTw=; b=X4pGrBUWYkk4+iwA+2scOSFTttp+0gzqMHaEOBETjBPvB2R6zE/TnbLvinmJLIHpUO 4GZQFQ8kS3ytAJ7yURYMdOK+sDSkNNx0kzDb75Ot0BVuwR8oTH5esNDucSY+Nvc5zQ6Q ZXiq8bojfu3UHQWHb6qUk/crk8KqxDTCqCP+WZpECoWuvEqFqebwyXJVv7H4S65Fjk1+ 5Hvd4IzanfOywiCdpteZ0twVbTzdr+4zXXZl5bDIhyLS2xk3CmIRs3aIcozqmXNOxkj9 t0IP5ovUoNg6J9mxbropUpjNPqazGkMWchBwikhzGR/zG8QTr9uFoWBOXL9PDfDos9Ro cZgw== X-Forwarded-Encrypted: i=1; AFNElJ8zkYZ8mFcafTHJSRZJlCsAR1SWV0h5FKkGspAgimwc+m7bUYhT/22EPALgpfrRiKUj9Y0VggQL4VGGLXAD@postgresql.org X-Gm-Message-State: AOJu0YznlGbkV7g+/EbWjgwTSrNjmohXscE3FLJoPXvCpu4rtPptvHyV ZQGu6FendLZDGrRkTZVhjLvL3FOUdj8nzRZO0rRnweLOtj5O43xAItWpZLbVhN5YAIZkfbmSyWC Tmvyy+NTu4Ix5usqqUr09hZeWnSjrvDpNyvvCfi/p X-Gm-Gg: AeBDiet6lwryhPN/BRxue5SnUp+DPLGqiVQP3QfIeixJGL6KkffW/dvQ/l0xE3zgj0X OGtXVAb3XRelIZFGWLqX+JajxuHSF0EQLdO27s1cGYGvhiy/198exKrWm+7eJiKV1Ss5eYNjBoh CNHLbfGWP+vO0qcpjxXEg3uip4xUWLm93IAHsuXNtvsK9Jv5Bv49nZwqXWTkLqbYvJKcubnLQyK MrVBaUkTzsnTOQQyHjmdMuX3FLJ0U9GdgdhYoGC5c/ymAKQxo14TOW+W0XQ3b9WFWTYTcYS9ig0 tgXvh5opW/VgwcsNQ5MO X-Received: by 2002:a05:6214:489:b0:8b1:f3e1:5e12 with SMTP id 6a1803df08f44-8b1f3e16020mr200585186d6.14.1776971144480; Thu, 23 Apr 2026 12:05:44 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jacob Champion Date: Thu, 23 Apr 2026 12:05:32 -0700 X-Gm-Features: AQROBzBsgjmMfY4yX8odHLiklNII64DBlcuYIZfBReugMEZv8T_vVudGd45TW8U Message-ID: Subject: Re: oauth integer overflow To: Andres Freund Cc: Daniel Gustafsson , PostgreSQL Hackers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Thu, Apr 23, 2026 at 11:37=E2=80=AFAM Andres Freund = wrote: > How about instead making sure that actx->authz.interval never gets big en= ough > to have any chance of overflowing during either the +=3D 5 or the * 1000?= It's > clearly ok to error out well before that... It probably is, but I guess the approach depends on whether you prefer checking at the time of operation, or attempting to reason about it ahead of time in far-away code. With the latter, if additional math is added in the future, then either the new overflow hazard gets missed, or the ceiling gets lowered again, or the new math gets an overflow check when the others don't. I prefer the time-of-use pattern, personally. --Jacob