From 2990b5ae931876082acd35c6c5fd74015df7e3c8 Mon Sep 17 00:00:00 2001 From: Yihong Wu <54519668+domosekai@users.noreply.github.com> Date: Thu, 30 Sep 2021 19:36:36 +0800 Subject: [PATCH] Fix memory overrun in policy copy --- src/Cedar/Account.c | 2 +- src/Cedar/Admin.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Cedar/Account.c b/src/Cedar/Account.c index 7b385cf7..c780d0f7 100644 --- a/src/Cedar/Account.c +++ b/src/Cedar/Account.c @@ -390,7 +390,7 @@ void OverwritePolicy(POLICY **target, POLICY *p) } else { - Copy(*target, p, NUM_POLICY_ITEM_FOR_VER2 * sizeof(UINT)); + Copy(*target, p, policy_item[NUM_POLICY_ITEM_FOR_VER2].Offset); } } } diff --git a/src/Cedar/Admin.c b/src/Cedar/Admin.c index 71ad5767..d2e8b184 100644 --- a/src/Cedar/Admin.c +++ b/src/Cedar/Admin.c @@ -7454,7 +7454,7 @@ UINT StSetLink(ADMIN *a, RPC_CREATE_LINK *t) if (t->Policy.Ver3 == false) { - Copy(k->Policy, &t->Policy, sizeof(UINT) * NUM_POLICY_ITEM_FOR_VER2); + Copy(k->Policy, &t->Policy, policy_item[NUM_POLICY_ITEM_FOR_VER2].Offset); } else {