diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2019-04-03 15:32:53 -0300 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2019-04-03 15:35:54 -0300 |
commit | 5f6fc34af5712995026267b9ace79d06b258a0ae (patch) | |
tree | 74613e0804198ea715397e2382975cf8734982d9 | |
parent | f56f8f8da6afd8523b4d5284e02a20ed2b33ef8d (diff) | |
download | postgresql-5f6fc34af5712995026267b9ace79d06b258a0ae.tar.gz postgresql-5f6fc34af5712995026267b9ace79d06b258a0ae.zip |
Copy name when cloning FKs recurses to partitions
We were passing a string owned by a syscache entry, which was released
before recursing. Fix by pstrdup'ing the string.
Per buildfarm member prion.
-rw-r--r-- | src/backend/commands/tablecmds.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 978b6bec44a..58eb7e1d8e8 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -8619,7 +8619,7 @@ CloneFkReferencing(List **wqueue, Relation parentRel, Relation partRel) "fkey", RelationGetNamespace(partRel), NIL); else - fkconstraint->conname = NameStr(constrForm->conname); + fkconstraint->conname = pstrdup(NameStr(constrForm->conname)); fkconstraint->fk_upd_action = constrForm->confupdtype; fkconstraint->fk_del_action = constrForm->confdeltype; fkconstraint->deferrable = constrForm->condeferrable; |