pgsql: Avoid dereferencing an undefined pointer in DecodeInterval(). - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Avoid dereferencing an undefined pointer in DecodeInterval().
Date
Msg-id E1pRGVC-000mYP-7e@gemulon.postgresql.org
Whole thread Raw
List 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
------
REL_15_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/0ef65d0f55e5cec81fe98aba7c907dfc1b93923f

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(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Integrate pg_bsd_indent into our build/test infrastructure.
Next
From: Tom Lane
Date:
Subject: pgsql: Make pg_bsd_indent's .h files inclusion-order-safe.