pgsql: Fix pfree crash in pg_get_role_ddl() and pg_get_database_ddl(). - Mailing list pgsql-committers

From Andrew Dunstan
Subject pgsql: Fix pfree crash in pg_get_role_ddl() and pg_get_database_ddl().
Date
Msg-id E1wCmb6-0010Er-0R@gemulon.postgresql.org
Whole thread
List pgsql-committers
Fix pfree crash in pg_get_role_ddl() and pg_get_database_ddl().

DatumGetArrayTypeP() can return a pointer into the tuple when the
datum is stored as a short varlena, so pfree() on the result crashes.
Use DatumGetArrayTypePCopy() to always get a palloc'd copy.

Bug introduced in 76e514ebb4b and a4f774cf1c7.

Reported-by: Jeff Davis <pgsql@j-davis.com>
Author: Satya Narlapuram <satya.narlapuram@gmail.com>
Discussion: https://postgr.es/m/CAHg+QDdWtv9PKtPZEokwGCNtbv4MVnfYw5wMZrsEj4xizSNe5Q@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/1f108fc02ece09da5773ece74e25812cb952ebfc

Modified Files
--------------
src/backend/utils/adt/ddlutils.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)


pgsql-committers by date:

Previous
From: Jeff Davis
Date:
Subject: pgsql: Check for unterminated strings when calling uloc_getLanguage().
Next
From: Richard Guo
Date:
Subject: pgsql: Fix var_is_nonnullable() to handle invalid NOT NULL constraints