pgsql: Handle integer overflow in interval justification functions.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Handle integer overflow in interval justification functions.
Date: 2022-02-28 20:37:02
Message-ID: E1nOmlR-000Kpi-Km@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Handle integer overflow in interval justification functions.

justify_interval, justify_hours, and justify_days didn't check for
overflow when promoting hours to days or days to months; but that's
possible when the upper field's value is already large. Detect and
report any such overflow.

Also, we can avoid unnecessary overflow in some cases in justify_interval
by pre-justifying the days field. (Thanks to Nathan Bossart for this
idea.)

Joe Koshakow

Discussion: https://postgr.es/m/CAAvxfHeNqsJ2xYFbPUf_8nNQUiJqkag04NW6aBQQ0dbZsxfWHA@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/54bd1e43ca56e323aef309dc2dc0e1391825ce68

Modified Files
--------------
src/backend/utils/adt/timestamp.c | 35 +++++++++++++++++++++++++++++----
src/test/regress/expected/interval.out | 36 ++++++++++++++++++++++++++++++++++
src/test/regress/sql/interval.sql | 12 ++++++++++++
3 files changed, 79 insertions(+), 4 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Kapila 2022-03-01 01:00:05 pgsql: Reconsider pg_stat_subscription_workers view.
Previous Message Tom Lane 2022-02-28 19:12:58 pgsql: Allow root-owned SSL private keys in libpq, not only the backend