projects
/
postgresql.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e933978
)
Remove NULL dereference from RenameRelationInternal().
author
Noah Misch
<
[email protected]
>
Sun, 29 Sep 2024 22:54:25 +0000
(15:54 -0700)
committer
Noah Misch
<
[email protected]
>
Sun, 29 Sep 2024 22:54:25 +0000
(15:54 -0700)
Defect in last week's commit
aac2c9b4fde889d13f859c233c2523345e72d32b
,
per Coverity. Reaching this would need catalog corruption. Back-patch
to v12, like that commit.
src/backend/commands/tablecmds.c
patch
|
blob
|
blame
|
history
diff --git
a/src/backend/commands/tablecmds.c
b/src/backend/commands/tablecmds.c
index 87232e013760b9c0063a0bb9523f7f10bb12a739..7405023e77b2a8a79d5f2b602a96d9e86f9eb908 100644
(file)
--- a/
src/backend/commands/tablecmds.c
+++ b/
src/backend/commands/tablecmds.c
@@
-4132,9
+4132,9
@@
RenameRelationInternal(Oid myrelid, const char *newrelname, bool is_internal, bo
relrelation = table_open(RelationRelationId, RowExclusiveLock);
reltup = SearchSysCacheLockedCopy1(RELOID, ObjectIdGetDatum(myrelid));
- otid = reltup->t_self;
if (!HeapTupleIsValid(reltup)) /* shouldn't happen */
elog(ERROR, "cache lookup failed for relation %u", myrelid);
+ otid = reltup->t_self;
relform = (Form_pg_class) GETSTRUCT(reltup);
if (get_relname_relid(newrelname, namespaceId) != InvalidOid)