[edk2-devel] [PATCH EDK2 v1 1/1] RedfishPkg: fix memory leak issue
wenyi,xie via groups.io
xiewenyi2=huawei.com at groups.io
Thu Mar 10 11:25:34 UTC 2022
The calloc memory is not free when function collectionEvalOp
return in the halfway.
Cc: Abner Chang <abner.chang at hpe.com>
Cc: Nickle Wang <nickle.wang at hpe.com>
Signed-off-by: Wenyi Xie <xiewenyi2 at 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
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#87404): https://edk2.groups.io/g/devel/message/87404
Mute This Topic: https://groups.io/mt/89683950/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list