From 1c1444699507baf91edbe08d5bf0a5293cc53f55 Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Mon, 10 May 2021 16:56:00 +1000 Subject: [PATCH v1] GetSubscriptionRelations declare only 1 scan key. The function GetSubscriptionRelations was declaring ScanKeyData skey[2] but actually only uses 1 scan key. It seems like the code was cut/paste from other nearby functions which really are using 2 keys. --- src/backend/catalog/pg_subscription.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 4039768..7db1f7d 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -461,19 +461,18 @@ GetSubscriptionRelations(Oid subid) List *res = NIL; Relation rel; HeapTuple tup; - int nkeys = 0; - ScanKeyData skey[2]; + ScanKeyData skey[1]; SysScanDesc scan; rel = table_open(SubscriptionRelRelationId, AccessShareLock); - ScanKeyInit(&skey[nkeys++], + ScanKeyInit(&skey[0], Anum_pg_subscription_rel_srsubid, BTEqualStrategyNumber, F_OIDEQ, ObjectIdGetDatum(subid)); scan = systable_beginscan(rel, InvalidOid, false, - NULL, nkeys, skey); + NULL, 1, skey); while (HeapTupleIsValid(tup = systable_getnext(scan))) { -- 1.8.3.1