pgsql: Avoid dereferencing an undefined pointer in DecodeInterval().

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Avoid dereferencing an undefined pointer in DecodeInterval().
Date: 2023-02-12 17:51:02
Message-ID: E1pRGVC-000mYO-61@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Avoid dereferencing an undefined pointer in DecodeInterval().

Commit e39f99046 moved some code up closer to the start of
DecodeInterval(), without noticing that it had been implicitly
relying on previous checks to reject the case of empty input.
Given empty input, we'd now dereference a pointer that hadn't been
set, possibly leading to a core dump. (But if we fail to provoke
a SIGSEGV, nothing bad happens, and the expected syntax error is
thrown a bit later.)

Per bug #17788 from Alexander Lakhin. Back-patch to v15 where
the fault was introduced.

Discussion: https://postgr.es/m/17788-dabac9f98f7eafd5@postgresql.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/5e80d3515488a12f776ba14a07fbb5aa6b3ef013

Modified Files
--------------
src/backend/utils/adt/datetime.c | 2 +-
src/test/regress/expected/interval.out | 5 +++++
src/test/regress/sql/interval.sql | 3 +++
3 files changed, 9 insertions(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2023-02-12 18:06:55 pgsql: Make pg_bsd_indent's .h files inclusion-order-safe.
Previous Message Tom Lane 2023-02-12 17:22:27 pgsql: Import pg_bsd_indent sources.