public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH EDK2 v1 0/1] RedfishPkg: fix memory leak issue
@ 2022-03-10 11:25 wenyi,xie
  2022-03-10 11:25 ` [PATCH EDK2 v1 1/1] " wenyi,xie
  0 siblings, 1 reply; 5+ messages in thread
From: wenyi,xie @ 2022-03-10 11:25 UTC (permalink / raw)
  To: devel, abner.chang, nickle.wang; +Cc: songdongkuang, xiewenyi2

Main Changes :
1.free the allocated memory when function collectionEvalOp return.
2.optimeze the code, no functional change.

Wenyi Xie (1):
  RedfishPkg: fix memory leak issue

 RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

-- 
2.20.1.windows.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH EDK2 v1 1/1] RedfishPkg: fix memory leak issue
  2022-03-10 11:25 [PATCH EDK2 v1 0/1] RedfishPkg: fix memory leak issue wenyi,xie
@ 2022-03-10 11:25 ` wenyi,xie
  2022-03-11  5:48   ` Abner Chang
  0 siblings, 1 reply; 5+ messages in thread
From: wenyi,xie @ 2022-03-10 11:25 UTC (permalink / raw)
  To: devel, abner.chang, nickle.wang; +Cc: songdongkuang, xiewenyi2

The calloc memory is not free when function collectionEvalOp
return in the halfway.

Cc: Abner Chang <abner.chang@hpe.com>
Cc: Nickle Wang <nickle.wang@hpe.com>
Signed-off-by: Wenyi Xie <xiewenyi2@huawei.com>
---
 RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c b/RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c
index 3f2b83e834d0..6c6e2246abe3 100644
--- a/RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c
+++ b/RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c
@@ -620,6 +620,7 @@ collectionEvalOp (
   if (((*StatusCode == NULL) && (members == NULL)) ||
       ((*StatusCode != NULL) && ((**StatusCode < HTTP_STATUS_200_OK) || (**StatusCode > HTTP_STATUS_206_PARTIAL_CONTENT))))
   {
+    free (valid);
     return members;
   }
 
@@ -633,6 +634,7 @@ collectionEvalOp (
     if (((*StatusCode == NULL) && (tmp == NULL)) ||
         ((*StatusCode != NULL) && ((**StatusCode < HTTP_STATUS_200_OK) || (**StatusCode > HTTP_STATUS_206_PARTIAL_CONTENT))))
     {
+      free (valid);
       return tmp;
     }
 
@@ -658,19 +660,15 @@ collectionEvalOp (
 
   cleanupPayload (members);
   if (validCount == 0) {
-    free (valid);
-    return NULL;
-  }
-
-  if (validCount == 1) {
+    ret = NULL;
+  } else if (validCount == 1) {
     ret = valid[0];
-    free (valid);
-    return ret;
   } else {
     ret = createCollection (payload->service, validCount, valid);
-    free (valid);
-    return ret;
   }
+
+  free (valid);
+  return ret;
 }
 
 static redfishPayload *
-- 
2.20.1.windows.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH EDK2 v1 1/1] RedfishPkg: fix memory leak issue
  2022-03-10 11:25 ` [PATCH EDK2 v1 1/1] " wenyi,xie
@ 2022-03-11  5:48   ` Abner Chang
  2022-03-11  7:03     ` Abner Chang
  0 siblings, 1 reply; 5+ messages in thread
From: Abner Chang @ 2022-03-11  5:48 UTC (permalink / raw)
  To: Wenyi Xie, devel@edk2.groups.io, Wang, Nickle (Server BIOS)
  Cc: songdongkuang@huawei.com

Thanks for catching this.

Reviewed-by: Abner Chang <abner.chang@hpe.com>

> -----Original Message-----
> From: Wenyi Xie <xiewenyi2@huawei.com>
> Sent: Thursday, March 10, 2022 7:26 PM
> To: devel@edk2.groups.io; Chang, Abner (HPS SW/FW Technologist)
> <abner.chang@hpe.com>; Wang, Nickle (Server BIOS)
> <nickle.wang@hpe.com>
> Cc: songdongkuang@huawei.com; xiewenyi2@huawei.com
> Subject: [PATCH EDK2 v1 1/1] RedfishPkg: fix memory leak issue
> 
> The calloc memory is not free when function collectionEvalOp
> return in the halfway.
> 
> Cc: Abner Chang <abner.chang@hpe.com>
> Cc: Nickle Wang <nickle.wang@hpe.com>
> Signed-off-by: Wenyi Xie <xiewenyi2@huawei.com>
> ---
>  RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c | 16
> +++++++---------
>  1 file changed, 7 insertions(+), 9 deletions(-)
> 
> diff --git
> a/RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c
> b/RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c
> index 3f2b83e834d0..6c6e2246abe3 100644
> --- a/RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c
> +++ b/RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c
> @@ -620,6 +620,7 @@ collectionEvalOp (
>    if (((*StatusCode == NULL) && (members == NULL)) ||
>        ((*StatusCode != NULL) && ((**StatusCode < HTTP_STATUS_200_OK) ||
> (**StatusCode > HTTP_STATUS_206_PARTIAL_CONTENT))))
>    {
> +    free (valid);
>      return members;
>    }
> 
> @@ -633,6 +634,7 @@ collectionEvalOp (
>      if (((*StatusCode == NULL) && (tmp == NULL)) ||
>          ((*StatusCode != NULL) && ((**StatusCode < HTTP_STATUS_200_OK) ||
> (**StatusCode > HTTP_STATUS_206_PARTIAL_CONTENT))))
>      {
> +      free (valid);
>        return tmp;
>      }
> 
> @@ -658,19 +660,15 @@ collectionEvalOp (
> 
>    cleanupPayload (members);
>    if (validCount == 0) {
> -    free (valid);
> -    return NULL;
> -  }
> -
> -  if (validCount == 1) {
> +    ret = NULL;
> +  } else if (validCount == 1) {
>      ret = valid[0];
> -    free (valid);
> -    return ret;
>    } else {
>      ret = createCollection (payload->service, validCount, valid);
> -    free (valid);
> -    return ret;
>    }
> +
> +  free (valid);
> +  return ret;
>  }
> 
>  static redfishPayload *
> --
> 2.20.1.windows.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH EDK2 v1 1/1] RedfishPkg: fix memory leak issue
  2022-03-11  5:48   ` Abner Chang
@ 2022-03-11  7:03     ` Abner Chang
  2022-03-11  8:02       ` wenyi,xie
  0 siblings, 1 reply; 5+ messages in thread
From: Abner Chang @ 2022-03-11  7:03 UTC (permalink / raw)
  To: Wenyi Xie, devel@edk2.groups.io, Wang, Nickle (Server BIOS)
  Cc: songdongkuang@huawei.com

[-- Attachment #1: Type: text/plain, Size: 2861 bytes --]

Hi Wenyi,
Please add my RB in the commit message and create the PR against edk2, let me know the link to PR as well.

Thanks,
Abner
________________________________
From: Chang, Abner (HPS SW/FW Technologist)
Sent: Friday, March 11, 2022 1:48 PM
To: Wenyi Xie <xiewenyi2@huawei.com>; devel@edk2.groups.io <devel@edk2.groups.io>; Wang, Nickle (Server BIOS) <nickle.wang@hpe.com>
Cc: songdongkuang@huawei.com <songdongkuang@huawei.com>
Subject: RE: [PATCH EDK2 v1 1/1] RedfishPkg: fix memory leak issue

Thanks for catching this.

Reviewed-by: Abner Chang <abner.chang@hpe.com>

> -----Original Message-----
> From: Wenyi Xie <xiewenyi2@huawei.com>
> Sent: Thursday, March 10, 2022 7:26 PM
> To: devel@edk2.groups.io; Chang, Abner (HPS SW/FW Technologist)
> <abner.chang@hpe.com>; Wang, Nickle (Server BIOS)
> <nickle.wang@hpe.com>
> Cc: songdongkuang@huawei.com; xiewenyi2@huawei.com
> Subject: [PATCH EDK2 v1 1/1] RedfishPkg: fix memory leak issue
>
> The calloc memory is not free when function collectionEvalOp
> return in the halfway.
>
> Cc: Abner Chang <abner.chang@hpe.com>
> Cc: Nickle Wang <nickle.wang@hpe.com>
> Signed-off-by: Wenyi Xie <xiewenyi2@huawei.com>
> ---
>  RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c | 16
> +++++++---------
>  1 file changed, 7 insertions(+), 9 deletions(-)
>
> diff --git
> a/RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c
> b/RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c
> index 3f2b83e834d0..6c6e2246abe3 100644
> --- a/RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c
> +++ b/RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c
> @@ -620,6 +620,7 @@ collectionEvalOp (
>    if (((*StatusCode == NULL) && (members == NULL)) ||
>        ((*StatusCode != NULL) && ((**StatusCode < HTTP_STATUS_200_OK) ||
> (**StatusCode > HTTP_STATUS_206_PARTIAL_CONTENT))))
>    {
> +    free (valid);
>      return members;
>    }
>
> @@ -633,6 +634,7 @@ collectionEvalOp (
>      if (((*StatusCode == NULL) && (tmp == NULL)) ||
>          ((*StatusCode != NULL) && ((**StatusCode < HTTP_STATUS_200_OK) ||
> (**StatusCode > HTTP_STATUS_206_PARTIAL_CONTENT))))
>      {
> +      free (valid);
>        return tmp;
>      }
>
> @@ -658,19 +660,15 @@ collectionEvalOp (
>
>    cleanupPayload (members);
>    if (validCount == 0) {
> -    free (valid);
> -    return NULL;
> -  }
> -
> -  if (validCount == 1) {
> +    ret = NULL;
> +  } else if (validCount == 1) {
>      ret = valid[0];
> -    free (valid);
> -    return ret;
>    } else {
>      ret = createCollection (payload->service, validCount, valid);
> -    free (valid);
> -    return ret;
>    }
> +
> +  free (valid);
> +  return ret;
>  }
>
>  static redfishPayload *
> --
> 2.20.1.windows.1


[-- Attachment #2: Type: text/html, Size: 5504 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH EDK2 v1 1/1] RedfishPkg: fix memory leak issue
  2022-03-11  7:03     ` Abner Chang
@ 2022-03-11  8:02       ` wenyi,xie
  0 siblings, 0 replies; 5+ messages in thread
From: wenyi,xie @ 2022-03-11  8:02 UTC (permalink / raw)
  To: Chang, Abner (HPS SW/FW Technologist), devel@edk2.groups.io,
	Wang, Nickle (Server BIOS)
  Cc: songdongkuang@huawei.com

Hi Abner,

Thank you for your reviewing, here is the link to the PR.
https://github.com/tianocore/edk2/pull/2612

Regards
Wenyi

On 2022/3/11 15:03, Chang, Abner (HPS SW/FW Technologist) wrote:
> Hi Wenyi,
> Please add my RB in the commit message and create the PR against edk2, let me know the link to PR as well.
> 
> Thanks,
> Abner
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> *From:* Chang, Abner (HPS SW/FW Technologist)
> *Sent:* Friday, March 11, 2022 1:48 PM
> *To:* Wenyi Xie <xiewenyi2@huawei.com>; devel@edk2.groups.io <devel@edk2.groups.io>; Wang, Nickle (Server BIOS) <nickle.wang@hpe.com>
> *Cc:* songdongkuang@huawei.com <songdongkuang@huawei.com>
> *Subject:* RE: [PATCH EDK2 v1 1/1] RedfishPkg: fix memory leak issue
>  
> Thanks for catching this.
> 
> Reviewed-by: Abner Chang <abner.chang@hpe.com>
> 
>> -----Original Message-----
>> From: Wenyi Xie <xiewenyi2@huawei.com>
>> Sent: Thursday, March 10, 2022 7:26 PM
>> To: devel@edk2.groups.io; Chang, Abner (HPS SW/FW Technologist)
>> <abner.chang@hpe.com>; Wang, Nickle (Server BIOS)
>> <nickle.wang@hpe.com>
>> Cc: songdongkuang@huawei.com; xiewenyi2@huawei.com
>> Subject: [PATCH EDK2 v1 1/1] RedfishPkg: fix memory leak issue
>> 
>> The calloc memory is not free when function collectionEvalOp
>> return in the halfway.
>> 
>> Cc: Abner Chang <abner.chang@hpe.com>
>> Cc: Nickle Wang <nickle.wang@hpe.com>
>> Signed-off-by: Wenyi Xie <xiewenyi2@huawei.com>
>> ---
>>  RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c | 16
>> +++++++---------
>>  1 file changed, 7 insertions(+), 9 deletions(-)
>> 
>> diff --git
>> a/RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c
>> b/RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c
>> index 3f2b83e834d0..6c6e2246abe3 100644
>> --- a/RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c
>> +++ b/RedfishPkg/PrivateLibrary/RedfishLib/edk2libredfish/src/payload.c
>> @@ -620,6 +620,7 @@ collectionEvalOp (
>>    if (((*StatusCode == NULL) && (members == NULL)) ||
>>        ((*StatusCode != NULL) && ((**StatusCode < HTTP_STATUS_200_OK) ||
>> (**StatusCode > HTTP_STATUS_206_PARTIAL_CONTENT))))
>>    {
>> +    free (valid);
>>      return members;
>>    }
>> 
>> @@ -633,6 +634,7 @@ collectionEvalOp (
>>      if (((*StatusCode == NULL) && (tmp == NULL)) ||
>>          ((*StatusCode != NULL) && ((**StatusCode < HTTP_STATUS_200_OK) ||
>> (**StatusCode > HTTP_STATUS_206_PARTIAL_CONTENT))))
>>      {
>> +      free (valid);
>>        return tmp;
>>      }
>> 
>> @@ -658,19 +660,15 @@ collectionEvalOp (
>> 
>>    cleanupPayload (members);
>>    if (validCount == 0) {
>> -    free (valid);
>> -    return NULL;
>> -  }
>> -
>> -  if (validCount == 1) {
>> +    ret = NULL;
>> +  } else if (validCount == 1) {
>>      ret = valid[0];
>> -    free (valid);
>> -    return ret;
>>    } else {
>>      ret = createCollection (payload->service, validCount, valid);
>> -    free (valid);
>> -    return ret;
>>    }
>> +
>> +  free (valid);
>> +  return ret;
>>  }
>> 
>>  static redfishPayload *
>> --
>> 2.20.1.windows.1
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-03-11  8:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-10 11:25 [PATCH EDK2 v1 0/1] RedfishPkg: fix memory leak issue wenyi,xie
2022-03-10 11:25 ` [PATCH EDK2 v1 1/1] " wenyi,xie
2022-03-11  5:48   ` Abner Chang
2022-03-11  7:03     ` Abner Chang
2022-03-11  8:02       ` wenyi,xie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox