mirror of
https://github.com/postgres/postgres.git
synced 2025-05-29 00:03:09 -04:00
Fix use-after-free with multirange types in CREATE TYPE
The code was freeing the name of the multirange type function stored in the parse tree but it should not do that. Event triggers could for example look at such a corrupted parsed tree with a ddl_command_end event. Author: Alex Kozhemyakin, Sergey Shinderuk Reviewed-by: Peter Eisentraut, Michael Paquier Discussion: https://postgr.es/m/d5042d46-b9cd-6efb-219a-71ed0cf45bc8@postgrespro.ru Backpatch-through: 14
This commit is contained in:
parent
780054bf31
commit
5b0e7fe1d6
@ -1707,7 +1707,6 @@ DefineRange(ParseState *pstate, CreateRangeStmt *stmt)
|
||||
/* Create cast from the range type to its multirange type */
|
||||
CastCreate(typoid, multirangeOid, castFuncOid, 'e', 'f', DEPENDENCY_INTERNAL);
|
||||
|
||||
pfree(multirangeTypeName);
|
||||
pfree(multirangeArrayName);
|
||||
|
||||
return address;
|
||||
|
Loading…
x
Reference in New Issue
Block a user