Skip to content

Commit 0b90f1c

Browse files
committed
Check criticalSharedRelcachesBuilt in GetSharedSecurityLabel().
An extension may want to call GetSecurityLabel() on a shared object before the shared relcaches are fully initialized. For instance, a ClientAuthentication_hook might want to retrieve the security label on a role. Discussion: https://postgr.es/m/ecb7af0b26e3be1d96d291c8453a86f1f82d9061.camel@j-davis.com Backpatch-through: 9.6
1 parent fd059ac commit 0b90f1c

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/backend/commands/seclabel.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,8 +243,8 @@ GetSharedSecurityLabel(const ObjectAddress *object, const char *provider)
243243

244244
pg_shseclabel = table_open(SharedSecLabelRelationId, AccessShareLock);
245245

246-
scan = systable_beginscan(pg_shseclabel, SharedSecLabelObjectIndexId, true,
247-
NULL, 3, keys);
246+
scan = systable_beginscan(pg_shseclabel, SharedSecLabelObjectIndexId,
247+
criticalSharedRelcachesBuilt, NULL, 3, keys);
248248

249249
tuple = systable_getnext(scan);
250250
if (HeapTupleIsValid(tuple))

0 commit comments

Comments
 (0)