From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 6661DAC1BE5 for ; Thu, 26 Oct 2023 23:54:05 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=Fp/MN4//XLeAfOSG1W1De3461qmQo3mSeMNYDhD3nS0=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20140610; t=1698364444; v=1; b=OwHP6cLMI+VZaTVFTAgWdieZfbetaTO/OfxjxK26ngXamaRGLni9QJ3MVwHeZQrezQmwnOCQ OxpGQMiAH+T7cemxA/gsxSpZuKKeZDifW86SFk5xgyiYAmELtNbiwzU8i5jn8li1u9ZIXtZvmjZ zUbkBUuPkVLtfnktqC5s+Ibk= X-Received: by 127.0.0.2 with SMTP id FHZIYY7687511xwotsmtLr73; Thu, 26 Oct 2023 16:54:04 -0700 X-Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) by mx.groups.io with SMTP id smtpd.web10.215565.1698364442410027940 for ; Thu, 26 Oct 2023 16:54:02 -0700 X-Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-507a62d4788so2355896e87.0 for ; Thu, 26 Oct 2023 16:54:02 -0700 (PDT) X-Gm-Message-State: 8a5dPPC8SNENamcMQiiQxgurx7686176AA= X-Google-Smtp-Source: AGHT+IHg9RmaI4B+Ym+pefQZT/YgF3rnH3uO/ZAl2+HiY5yLU+CV5/eLydIvywEpfV50RnlVP4oBtA== X-Received: by 2002:ac2:5a02:0:b0:504:31a0:f9e2 with SMTP id q2-20020ac25a02000000b0050431a0f9e2mr574156lfn.58.1698364440277; Thu, 26 Oct 2023 16:54:00 -0700 (PDT) X-Received: from localhost.localdomain ([79.164.221.98]) by smtp.gmail.com with ESMTPSA id u8-20020a056512040800b00507a8789b43sm39389lfk.269.2023.10.26.16.53.59 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 26 Oct 2023 16:53:59 -0700 (PDT) From: "Mike Maslenkin" To: devel@edk2.groups.io Cc: abner.chang@amd.com, nicklew@nvidia.com, igork@ami.com, Mike Maslenkin Subject: [edk2-devel] [edk2-redfish-client][PATCH v2 04/11] RedfishClientPkg: RedfishFeatureUtilityLib: fix memory leaks Date: Fri, 27 Oct 2023 02:53:47 +0300 Message-Id: <20231026235354.67625-5-mike.maslenkin@gmail.com> In-Reply-To: <20231026235354.67625-1-mike.maslenkin@gmail.com> References: <20231026235354.67625-1-mike.maslenkin@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,mike.maslenkin@gmail.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=OwHP6cLM; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io Signed-off-by: Mike Maslenkin --- .../RedfishFeatureUtilityLib.c | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatu= reUtilityLib.c b/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishF= eatureUtilityLib.c index 35e342c817b7..8fa1dc2c3535 100644 --- a/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtili= tyLib.c +++ b/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtili= tyLib.c @@ -515,6 +515,7 @@ ApplyFeatureSettingsVagueType ( Status =3D UnicodeStrToAsciiStrS (ConfigureLang, ConfigureLangAscii, Str= Len (ConfigureLang) + 1);=0D if (EFI_ERROR (Status)) {=0D DEBUG ((DEBUG_ERROR, "%a, Convert the configureLang of vague key of %a= .%a %s failed: %r\n", __func__, Schema, Version, ConfigureLang, Status));=0D + FreePool (ConfigureLangAscii);=0D return Status;=0D }=0D =0D @@ -1972,6 +1973,7 @@ RedfishGetUri ( //=0D if (*Target =3D=3D '\0') {=0D DEBUG ((DEBUG_ERROR, "%a, invalid format: %s\n", __func__, ConfigLan= g));=0D + FreePool (ResultStr);=0D return NULL;=0D }=0D =0D @@ -1983,6 +1985,7 @@ RedfishGetUri ( TempStrSize =3D (ConfigLangLen - RemainingLen + 1) * sizeof (CHAR16);= =0D TempStr =3D AllocateCopyPool (TempStrSize, Head);=0D if (TempStr =3D=3D NULL) {=0D + FreePool (ResultStr);=0D return NULL;=0D }=0D =0D @@ -1996,6 +1999,8 @@ RedfishGetUri ( );=0D if (EFI_ERROR (Status)) {=0D DEBUG ((DEBUG_ERROR, "%a, Can not find: %s\n", __func__, TempStr));= =0D + FreePool (ResultStr);=0D + FreePool (TempStr);=0D return NULL;=0D }=0D =0D @@ -2102,10 +2107,14 @@ GetConfigureLang ( =0D Status =3D AsciiStrToUnicodeStrS (Uri, UnicodeUri, StringSize);=0D if (EFI_ERROR (Status)) {=0D + FreePool (UnicodeUri);=0D return NULL;=0D }=0D =0D ConfigLang =3D RedfishGetConfigLanguage (UnicodeUri);=0D +=0D + FreePool (UnicodeUri);=0D +=0D if (ConfigLang =3D=3D NULL) {=0D return NULL;=0D }=0D @@ -2117,11 +2126,14 @@ GetConfigureLang ( StringSize =3D StrSize (ConfigLang) + ((AsciiStrLen (PropertyName) + 1) = * sizeof (CHAR16));=0D ResultStr =3D AllocatePool (StringSize);=0D if (ResultStr =3D=3D NULL) {=0D + FreePool (ConfigLang);=0D return NULL;=0D }=0D =0D UnicodeSPrint (ResultStr, StringSize, L"%s/%a", ConfigLang, PropertyName= );=0D =0D + FreePool (ConfigLang);=0D +=0D return ResultStr;=0D }=0D =0D @@ -2296,9 +2308,12 @@ GetPropertyStringValue ( Status =3D RedfishPlatformConfigGetValue (Schema, Version, ConfigureLang= Buffer, &RedfishValue);=0D if (EFI_ERROR (Status)) {=0D DEBUG ((DEBUG_ERROR, "%a, %a.%a query current setting for %s failed: %= r\n", __func__, Schema, Version, ConfigureLangBuffer, Status));=0D + FreePool (ConfigureLangBuffer);=0D return NULL;=0D }=0D =0D + FreePool (ConfigureLangBuffer);=0D +=0D if (RedfishValue.Type !=3D RedfishValueTypeString) {=0D DEBUG ((DEBUG_ERROR, "%a, %a.%a %s value is not string type\n", __func= __, Schema, Version, ConfigureLang));=0D return NULL;=0D @@ -2354,9 +2369,12 @@ GetPropertyNumericValue ( Status =3D RedfishPlatformConfigGetValue (Schema, Version, ConfigureLang= Buffer, &RedfishValue);=0D if (EFI_ERROR (Status)) {=0D DEBUG ((DEBUG_ERROR, "%a, %a.%a query current setting for %s failed: %= r\n", __func__, Schema, Version, ConfigureLangBuffer, Status));=0D + FreePool (ConfigureLangBuffer);=0D return NULL;=0D }=0D =0D + FreePool (ConfigureLangBuffer);=0D +=0D if (RedfishValue.Type !=3D RedfishValueTypeInteger) {=0D DEBUG ((DEBUG_ERROR, "%a, %a.%a %s value is not numeric type\n", __fun= c__, Schema, Version, ConfigureLang));=0D return NULL;=0D @@ -2416,9 +2434,12 @@ GetPropertyBooleanValue ( Status =3D RedfishPlatformConfigGetValue (Schema, Version, ConfigureLang= Buffer, &RedfishValue);=0D if (EFI_ERROR (Status)) {=0D DEBUG ((DEBUG_ERROR, "%a, %a.%a query current setting for %s failed: %= r\n", __func__, Schema, Version, ConfigureLangBuffer, Status));=0D + FreePool (ConfigureLangBuffer);=0D return NULL;=0D }=0D =0D + FreePool (ConfigureLangBuffer);=0D +=0D if (RedfishValue.Type !=3D RedfishValueTypeBoolean) {=0D DEBUG ((DEBUG_ERROR, "%a, %a.%a %s value is not boolean type\n", __fun= c__, Schema, Version, ConfigureLang));=0D return NULL;=0D @@ -2517,9 +2538,12 @@ GetPropertyStringArrayValue ( Status =3D RedfishPlatformConfigGetValue (Schema, Version, ConfigureLang= Buffer, &RedfishValue);=0D if (EFI_ERROR (Status)) {=0D DEBUG ((DEBUG_ERROR, "%a, %a.%a query current setting for %s failed: %= r\n", __func__, Schema, Version, ConfigureLangBuffer, Status));=0D + FreePool (ConfigureLangBuffer);=0D return NULL;=0D }=0D =0D + FreePool (ConfigureLangBuffer);=0D +=0D if (RedfishValue.Type !=3D RedfishValueTypeStringArray) {=0D DEBUG ((DEBUG_ERROR, "%a, %a.%a %s value is not string array type\n", = __func__, Schema, Version, ConfigureLang));=0D return NULL;=0D @@ -2588,9 +2612,12 @@ GetPropertyNumericArrayValue ( Status =3D RedfishPlatformConfigGetValue (Schema, Version, ConfigureLang= Buffer, &RedfishValue);=0D if (EFI_ERROR (Status)) {=0D DEBUG ((DEBUG_ERROR, "%a, %a.%a query current setting for %s failed: %= r\n", __func__, Schema, Version, ConfigureLangBuffer, Status));=0D + FreePool (ConfigureLangBuffer);=0D return NULL;=0D }=0D =0D + FreePool (ConfigureLangBuffer);=0D +=0D if (RedfishValue.Type !=3D RedfishValueTypeIntegerArray) {=0D DEBUG ((DEBUG_ERROR, "%a, %a.%a %s value is not string array type\n", = __func__, Schema, Version, ConfigureLang));=0D return NULL;=0D @@ -2659,9 +2686,12 @@ GetPropertyBooleanArrayValue ( Status =3D RedfishPlatformConfigGetValue (Schema, Version, ConfigureLang= Buffer, &RedfishValue);=0D if (EFI_ERROR (Status)) {=0D DEBUG ((DEBUG_ERROR, "%a, %a.%a query current setting for %s failed: %= r\n", __func__, Schema, Version, ConfigureLangBuffer, Status));=0D + FreePool (ConfigureLangBuffer);=0D return NULL;=0D }=0D =0D + FreePool (ConfigureLangBuffer);=0D +=0D if (RedfishValue.Type !=3D RedfishValueTypeBooleanArray) {=0D DEBUG ((DEBUG_ERROR, "%a, %a.%a %s value is not string array type\n", = __func__, Schema, Version, ConfigureLang));=0D return NULL;=0D --=20 2.32.0 (Apple Git-132) -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110149): https://edk2.groups.io/g/devel/message/110149 Mute This Topic: https://groups.io/mt/102211773/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-