StrnCpyS accepts string length in characters, not in bytes.
Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
---
RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c b/RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c
index 8ac165dec59e..c19d4a46d6af 100644
--- a/RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c
+++ b/RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c
@@ -331,7 +331,7 @@ NewInternalInstance (
}
NewInternalData->NodeName = AllocateZeroPool (StrSize (NodeName));
- StrnCpyS (NewInternalData->NodeName, StrSize (NodeName), (CONST CHAR16 *)NodeName, StrLen (NodeName));
+ StrnCpyS (NewInternalData->NodeName, StrLen (NodeName) + 1, (CONST CHAR16 *)NodeName, StrLen (NodeName));
NewInternalData->SiblingList = NULL;
NewInternalData->ChildList = NULL;
if (NodeIsCollection) {
--
2.32.0 (Apple Git-132)
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109225): https://edk2.groups.io/g/devel/message/109225
Mute This Topic: https://groups.io/mt/101667469/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
[AMD Official Use Only - General]
> -----Original Message-----
> From: Mike Maslenkin <mike.maslenkin@gmail.com>
> Sent: Saturday, September 30, 2023 5:59 AM
> To: devel@edk2.groups.io
> Cc: Chang, Abner <Abner.Chang@amd.com>; nicklew@nvidia.com;
> igork@ami.com; Mike Maslenkin <mike.maslenkin@gmail.com>
> Subject: [PATCH 9/9] RedfishClientPkg: fix StrnCpyS arguments
>
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
>
>
> StrnCpyS accepts string length in characters, not in bytes.
>
> Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
> ---
> RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c
> b/RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c
> index 8ac165dec59e..c19d4a46d6af 100644
> --- a/RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c
> +++ b/RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c
> @@ -331,7 +331,7 @@ NewInternalInstance (
> }
>
>
>
> NewInternalData->NodeName = AllocateZeroPool (StrSize (NodeName));
>
> - StrnCpyS (NewInternalData->NodeName, StrSize (NodeName), (CONST
> CHAR16 *)NodeName, StrLen (NodeName));
>
> + StrnCpyS (NewInternalData->NodeName, StrLen (NodeName) + 1, (CONST
> CHAR16 *)NodeName, StrLen (NodeName));
The original code is already the size of string that includes NULL terminator. However, we should check if NewInternalData->NodeName is NULL or not before copying the string. Mike, could you please help to add this check?
Thanks
Abner
>
> NewInternalData->SiblingList = NULL;
>
> NewInternalData->ChildList = NULL;
>
> if (NodeIsCollection) {
>
> --
> 2.32.0 (Apple Git-132)
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109249): https://edk2.groups.io/g/devel/message/109249
Mute This Topic: https://groups.io/mt/101667469/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
On Mon, Oct 2, 2023 at 5:56 AM Chang, Abner <Abner.Chang@amd.com> wrote: > > [AMD Official Use Only - General] > > > -----Original Message----- > > From: Mike Maslenkin <mike.maslenkin@gmail.com> > > Sent: Saturday, September 30, 2023 5:59 AM > > To: devel@edk2.groups.io > > Cc: Chang, Abner <Abner.Chang@amd.com>; nicklew@nvidia.com; > > igork@ami.com; Mike Maslenkin <mike.maslenkin@gmail.com> > > Subject: [PATCH 9/9] RedfishClientPkg: fix StrnCpyS arguments > > > > Caution: This message originated from an External Source. Use proper caution > > when opening attachments, clicking links, or responding. > > > > > > StrnCpyS accepts string length in characters, not in bytes. > > > > Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> > > --- > > RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c > > b/RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c > > index 8ac165dec59e..c19d4a46d6af 100644 > > --- a/RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c > > +++ b/RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c > > @@ -331,7 +331,7 @@ NewInternalInstance ( > > } > > > > > > > > NewInternalData->NodeName = AllocateZeroPool (StrSize (NodeName)); > > > > - StrnCpyS (NewInternalData->NodeName, StrSize (NodeName), (CONST > > CHAR16 *)NodeName, StrLen (NodeName)); > > > > + StrnCpyS (NewInternalData->NodeName, StrLen (NodeName) + 1, (CONST > > CHAR16 *)NodeName, StrLen (NodeName)); > The original code is already the size of string that includes NULL terminator. However, we should check if NewInternalData->NodeName is NULL or not before copying the string. Mike, could you please help to add this check? > > Thanks > Abner > Hi, Abner The problem is not with NULL terminator The problem is that StrnCpyS takes a number of unicode chars as a second parameter, not a string size in bytes returned by StrSize(). So I left this patch unmodified and added two additional patches required for NULL pointer check. Thanks, Mike. -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110144): https://edk2.groups.io/g/devel/message/110144 Mute This Topic: https://groups.io/mt/101667469/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
[AMD Official Use Only - General] > -----Original Message----- > From: Mike Maslenkin <mike.maslenkin@gmail.com> > Sent: Friday, October 27, 2023 7:51 AM > To: Chang, Abner <Abner.Chang@amd.com> > Cc: devel@edk2.groups.io; nicklew@nvidia.com; igork@ami.com > Subject: Re: [PATCH 9/9] RedfishClientPkg: fix StrnCpyS arguments > > Caution: This message originated from an External Source. Use proper caution > when opening attachments, clicking links, or responding. > > > On Mon, Oct 2, 2023 at 5:56 AM Chang, Abner <Abner.Chang@amd.com> > wrote: > > > > [AMD Official Use Only - General] > > > > > -----Original Message----- > > > From: Mike Maslenkin <mike.maslenkin@gmail.com> > > > Sent: Saturday, September 30, 2023 5:59 AM > > > To: devel@edk2.groups.io > > > Cc: Chang, Abner <Abner.Chang@amd.com>; nicklew@nvidia.com; > > > igork@ami.com; Mike Maslenkin <mike.maslenkin@gmail.com> > > > Subject: [PATCH 9/9] RedfishClientPkg: fix StrnCpyS arguments > > > > > > Caution: This message originated from an External Source. Use proper > caution > > > when opening attachments, clicking links, or responding. > > > > > > > > > StrnCpyS accepts string length in characters, not in bytes. > > > > > > Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> > > > --- > > > RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git > a/RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c > > > b/RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c > > > index 8ac165dec59e..c19d4a46d6af 100644 > > > --- a/RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c > > > +++ b/RedfishClientPkg/RedfishFeatureCoreDxe/RedfishFeatureCoreDxe.c > > > @@ -331,7 +331,7 @@ NewInternalInstance ( > > > } > > > > > > > > > > > > NewInternalData->NodeName = AllocateZeroPool (StrSize (NodeName)); > > > > > > - StrnCpyS (NewInternalData->NodeName, StrSize (NodeName), (CONST > > > CHAR16 *)NodeName, StrLen (NodeName)); > > > > > > + StrnCpyS (NewInternalData->NodeName, StrLen (NodeName) + 1, > (CONST > > > CHAR16 *)NodeName, StrLen (NodeName)); > > The original code is already the size of string that includes NULL terminator. > However, we should check if NewInternalData->NodeName is NULL or not > before copying the string. Mike, could you please help to add this check? > > > > Thanks > > Abner > > > Hi, Abner > > The problem is not with NULL terminator > The problem is that StrnCpyS takes a number of unicode chars as a > second parameter, not a string size in bytes returned by StrSize(). Yeah got it. > > So I left this patch unmodified and added two additional patches > required for NULL pointer check. Ok Abner > > Thanks, > Mike. -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110167): https://edk2.groups.io/g/devel/message/110167 Mute This Topic: https://groups.io/mt/101667469/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2026 Red Hat, Inc.