!2351 回合PG漏洞:CVE-2022-2625,创建extension中带有create or replace语句可能导致越权
Merge pull request !2351 from luajk/CVE-2022-2625
This commit is contained in:
@ -289,6 +289,8 @@ extern void recordMultipleDependencies(const ObjectAddress *depender,
|
||||
extern void recordDependencyOnCurrentExtension(const ObjectAddress *object,
|
||||
bool isReplace);
|
||||
|
||||
extern void checkMembershipInCurrentExtension(const ObjectAddress *object);
|
||||
|
||||
extern void recordPinnedDependency(const ObjectAddress *object);
|
||||
|
||||
extern bool IsPackageDependType(Oid typOid, Oid pkgOid, bool isRefCur = false);
|
||||
|
||||
@ -41,6 +41,16 @@ typedef struct ObjectAddress
|
||||
char deptype; /* Indicates the deptype that the object is referenced by other object. */
|
||||
} ObjectAddress;
|
||||
|
||||
#define ObjectAddressSubSet(addr, class_id, object_id, object_sub_id) \
|
||||
do { \
|
||||
(addr).classId = (class_id); \
|
||||
(addr).objectId = (object_id); \
|
||||
(addr).objectSubId = (object_sub_id); \
|
||||
} while (0)
|
||||
|
||||
#define ObjectAddressSet(addr, class_id, object_id) \
|
||||
ObjectAddressSubSet(addr, class_id, object_id, 0)
|
||||
|
||||
extern ObjectAddress get_object_address(ObjectType objtype, List *objname,
|
||||
List *objargs, Relation *relp,
|
||||
LOCKMODE lockmode, bool missing_ok);
|
||||
|
||||
Reference in New Issue
Block a user