diff options
author | Michael Paquier <michael@paquier.xyz> | 2018-12-17 12:43:57 +0900 |
---|---|---|
committer | Michael Paquier <michael@paquier.xyz> | 2018-12-17 12:43:57 +0900 |
commit | 419bd6371d557f5aa687e56ebe04e4946db0b8a4 (patch) | |
tree | 6fb1190923fa7866a7a4faaf4de1abc0bf2bf22a /src/backend/commands/tablecmds.c | |
parent | d79cd555da115a15f6e63f5e687521d1e274ff9a (diff) |
Fix use-after-free bug when renaming constraints
This is an oversight from recent commit b13fd344. While on it, tweak
the previous test with a better name for the renamed primary key.
Detected by buildfarm member prion which forces relation cache release
with -DRELCACHE_FORCE_RELEASE. Back-patch down to 9.4 as the previous
commit.
Diffstat (limited to 'src/backend/commands/tablecmds.c')
-rw-r--r-- | src/backend/commands/tablecmds.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 0747f90c341..7a30da5d0db 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -2495,12 +2495,12 @@ rename_constraint_internal(Oid myrelid, if (targetrelation) { - relation_close(targetrelation, NoLock); /* close rel but keep lock */ - /* * Invalidate relcache so as others can see the new constraint name. */ CacheInvalidateRelcache(targetrelation); + + relation_close(targetrelation, NoLock); /* close rel but keep lock */ } return address; |