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 BDF5774005D for ; Thu, 14 Mar 2024 14:53:28 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=BvkWIOUS7Uc8IprNi2iZt36LMPL4kCMHE9DXQfFWjzw=; c=relaxed/simple; d=groups.io; h=Received-SPF:From:To:CC:Subject:Date:Message-ID:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding:Content-Type; s=20240206; t=1710428007; v=1; b=vyh0c7O+5wRVegP4Anq4/uvGgLT16V2qe//G88AOb6Keb3UzeL3RezgjqM5n60Wbd59hOGq6 x6BG5vqtuLFP5wr2NsWwvUf5622nAbggQCPnzH1EtZmV0v3xLOUqVlpz3PeorwG9dY/9PErUgDW t4Z+ZmSFgoA5VuwKAV8gPvFq14+/J1b7iqrQ4lbZF1pBskPWqYOLmLvN798D9h+5OrX5NpAzKhU iDtD5FUZtugsFShIXw2ulj3baUIVN31s2bNHN8WfIDI4sI7yO7mmp3b6/o9cyS+vzfIxMvNoXyp R1wG2XBIXXwwrZUhreatzyTA8eXax/B/PLvfAMzkRqseA== X-Received: by 127.0.0.2 with SMTP id K4rtYY7687511xSaFB22Q5VS; Thu, 14 Mar 2024 07:53:27 -0700 X-Received: from NAM10-BN7-obe.outbound.protection.outlook.com (NAM10-BN7-obe.outbound.protection.outlook.com [40.107.92.72]) by mx.groups.io with SMTP id smtpd.web10.14745.1710428006516542186 for ; Thu, 14 Mar 2024 07:53:26 -0700 X-Received: from CH0PR04CA0006.namprd04.prod.outlook.com (2603:10b6:610:76::11) by CY8PR12MB7244.namprd12.prod.outlook.com (2603:10b6:930:57::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.36; Thu, 14 Mar 2024 14:53:22 +0000 X-Received: from CH2PEPF0000014A.namprd02.prod.outlook.com (2603:10b6:610:76:cafe::dc) by CH0PR04CA0006.outlook.office365.com (2603:10b6:610:76::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.19 via Frontend Transport; Thu, 14 Mar 2024 14:53:22 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C X-Received: from mail.nvidia.com (216.228.118.232) by CH2PEPF0000014A.mail.protection.outlook.com (10.167.244.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.12 via Frontend Transport; Thu, 14 Mar 2024 14:53:22 +0000 X-Received: from drhqmail201.nvidia.com (10.126.190.180) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Thu, 14 Mar 2024 07:53:12 -0700 X-Received: from drhqmail202.nvidia.com (10.126.190.181) by drhqmail201.nvidia.com (10.126.190.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.12; Thu, 14 Mar 2024 07:53:11 -0700 X-Received: from NV-CL38DL3.nvidia.com (10.127.8.12) by mail.nvidia.com (10.126.190.181) with Microsoft SMTP Server id 15.2.1258.12 via Frontend Transport; Thu, 14 Mar 2024 07:53:10 -0700 From: "Nickle Wang via groups.io" To: CC: Abner Chang , Igor Kulchytskyy , "Nick Ramirez" Subject: [edk2-devel] [edk2-redfish-client][PATCH 2/2] RedfishClientPkg/Features: release resources Date: Thu, 14 Mar 2024 22:53:10 +0800 Message-ID: <20240314145310.153204-1-nicklew@nvidia.com> MIME-Version: 1.0 X-NVConfidentiality: public X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PEPF0000014A:EE_|CY8PR12MB7244:EE_ X-MS-Office365-Filtering-Correlation-Id: c1523e51-08b8-425f-a343-08dc44367ee1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: MFnyE9f9HgHHhXn56Cxv3Vb6pWX9zSCGr37PUYR6N07eqV0y9IlTBbK33TRsfHetHyT8hxeX9gd8MKm/4nQQhzoDVXaEpIU3uxONiA8B9y424RDvt7O484Qg9tADP4ZXPzY0ydI17N8uNub+OIvExFTCMPsJC2PLQ7JF5TiAiW5Sp+h2av6JuadSEBGnkwaxmEvlEK04tlbeaH6lEjpR11F7h4dpIB+ldo3t6e0gh/BlHGDy9FvBliDNyBjzaUF1OS7K5VPFe+TjAr9g32uXlia7lqFzC+zOTEW/zAWe5Hv6uwV7Gt0D5j+vQ/Xc9apqgdx22ijUGF235ybgDto4eg9TGqKJrAj6Ch7pFHge4TYXNKP7FEBWcJokO7en7LFQEw1sbUQCmDwULvLv00MCclGdSgMlqTV7coUEde+34zfzLxTn11uvFZQ1ApCzwktdBuhSRQ2qbgXWGQE18LYwfZp5rVS5WN+GbZdjQlu18ZZXoNL/CvuG3OnmvwvE9Z0VzEuJSfVhm3y9e+Ic9CNI612F9V0iUyGozW8TuLIURNaRe0ljtn6vweRzJLrMQGzrVkRw6CyQYxPldcy68pS9NZSlFQGcncRW+1+K4tUUDZNltKsV295k4lJmHajKcRuEnk/0ZUYKWF5S9WSFwy4KF7ia8zMTsllNCFsUyfaOHfpJlpfbqftENerdIM7Eb72w8YFQ5tGVvrBElS9CRbsjNhkK59Nuek9Epi/Au7/Ttc1Lwm+fqw4Rgb92TGkEb/p5 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 14:53:22.6000 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c1523e51-08b8-425f-a343-08dc44367ee1 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.232];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH2PEPF0000014A.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7244 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 Resent-Date: Thu, 14 Mar 2024 07:53:26 -0700 Reply-To: devel@edk2.groups.io,nicklew@nvidia.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: wZS2cRFABtNC7u9hhYGqMNBFx7686176AA= Content-Transfer-Encoding: quoted-printable Content-Type: text/plain X-Spam-Flag: yes X-Spam-Level: ************ X-GND-Spam-Score: 190 X-GND-Status: SPAM Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b=vyh0c7O+; dmarc=pass (policy=none) header.from=groups.io; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io -Release Etag and PendingSettingUri resources. -Update function header for GetHttpResponseEtag() and GetHttpResponseLocation(). Caller has to release returned memory buffer from these two functions. Signed-off-by: Nickle Wang Cc: Abner Chang Cc: Igor Kulchytskyy Cc: Nick Ramirez --- .../Features/Bios/v1_0_9/Dxe/BiosDxe.c | 20 ++++++++-- .../BootOption/v1_0_4/Dxe/BootOptionDxe.c | 33 ++++++++++++----- .../v1_13_0/Dxe/ComputerSystemDxe.c | 33 ++++++++++++----- .../v1_5_0/Dxe/ComputerSystemDxe.c | 33 ++++++++++++----- .../Features/Memory/V1_7_1/Dxe/MemoryDxe.c | 37 ++++++++++++++----- .../RedfishFeatureUtilityLib.c | 2 + 6 files changed, 114 insertions(+), 44 deletions(-) diff --git a/RedfishClientPkg/Features/Bios/v1_0_9/Dxe/BiosDxe.c b/RedfishC= lientPkg/Features/Bios/v1_0_9/Dxe/BiosDxe.c index 1ca920640..0422d60ff 100644 --- a/RedfishClientPkg/Features/Bios/v1_0_9/Dxe/BiosDxe.c +++ b/RedfishClientPkg/Features/Bios/v1_0_9/Dxe/BiosDxe.c @@ -157,8 +157,12 @@ RedfishResourceConsumeResource ( // // Searching for etag in HTTP response header // - Etag =3D NULL; - GetHttpResponseEtag (ExpectedResponse, &Etag); + Etag =3D NULL; + Status =3D GetHttpResponseEtag (ExpectedResponse, &Etag); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "%a, failed to get ETag from HTTP header\n", __fu= nc__)); + } + Status =3D RedfishConsumeResourceCommon (Private, Private->Json, Etag); if (EFI_ERROR (Status)) { DEBUG ((DEBUG_ERROR, "%a: failed to consume resource from: %s: %r\n", = __func__, Private->Uri, Status)); @@ -337,8 +341,12 @@ RedfishResourceCheck ( // // Find etag in HTTP response header // - Etag =3D NULL; - GetHttpResponseEtag (&Response, &Etag); + Etag =3D NULL; + Status =3D GetHttpResponseEtag (&Response, &Etag); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "%a, failed to get ETag from HTTP header\n", __fu= nc__)); + } + Status =3D RedfishCheckResourceCommon (Private, Private->Json, Etag); if (EFI_ERROR (Status)) { DEBUG ((DEBUG_ERROR, "%a, failed to check resource from: %s: %r\n", __= func__, Uri, Status)); @@ -347,6 +355,10 @@ RedfishResourceCheck ( // // Release resource // + if (Etag !=3D NULL) { + FreePool (Etag); + } + RedfishHttpFreeResponse (&Response); Private->Payload =3D NULL; =20 diff --git a/RedfishClientPkg/Features/BootOption/v1_0_4/Dxe/BootOptionDxe.= c b/RedfishClientPkg/Features/BootOption/v1_0_4/Dxe/BootOptionDxe.c index 7501c1a97..ae1fad0a0 100644 --- a/RedfishClientPkg/Features/BootOption/v1_0_4/Dxe/BootOptionDxe.c +++ b/RedfishClientPkg/Features/BootOption/v1_0_4/Dxe/BootOptionDxe.c @@ -122,12 +122,13 @@ RedfishResourceConsumeResource ( // // Check and see if "@Redfish.Settings" exist or not. // - Status =3D GetPendingSettings ( - Private->RedfishService, - Response.Payload, - &PendingSettingResponse, - &PendingSettingUri - ); + PendingSettingUri =3D NULL; + Status =3D GetPendingSettings ( + Private->RedfishService, + Response.Payload, + &PendingSettingResponse, + &PendingSettingUri + ); if (!EFI_ERROR (Status)) { DEBUG ((REDFISH_BOOT_OPTION_DEBUG_TRACE, "%a: @Redfish.Settings found:= %s\n", __func__, PendingSettingUri)); Private->Uri =3D PendingSettingUri; @@ -146,8 +147,12 @@ RedfishResourceConsumeResource ( // // Find etag in HTTP response header // - Etag =3D NULL; - GetHttpResponseEtag (ExpectedResponse, &Etag); + Etag =3D NULL; + Status =3D GetHttpResponseEtag (ExpectedResponse, &Etag); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "%a: failed to get ETag from HTTP header\n", __fu= nc__)); + } + Status =3D RedfishConsumeResourceCommon (Private, Private->Json, Etag); if (EFI_ERROR (Status)) { DEBUG ((DEBUG_ERROR, "%a: failed to consume resource from: %s: %r\n", = __func__, Private->Uri, Status)); @@ -169,6 +174,10 @@ RedfishResourceConsumeResource ( Private->Json =3D NULL; } =20 + if (PendingSettingUri !=3D NULL) { + FreePool (PendingSettingUri); + } + return Status; } =20 @@ -322,8 +331,12 @@ RedfishResourceCheck ( // // Find etag in HTTP response header // - Etag =3D NULL; - GetHttpResponseEtag (&Response, &Etag); + Etag =3D NULL; + Status =3D GetHttpResponseEtag (&Response, &Etag); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "%a: failed to get ETag from HTTP header\n", __fu= nc__)); + } + Status =3D RedfishCheckResourceCommon (Private, Private->Json, Etag); if (EFI_ERROR (Status)) { DEBUG ((REDFISH_BOOT_OPTION_DEBUG_TRACE, "%a: failed to check resource= from: %s: %r\n", __func__, Uri, Status)); diff --git a/RedfishClientPkg/Features/ComputerSystem/v1_13_0/Dxe/ComputerS= ystemDxe.c b/RedfishClientPkg/Features/ComputerSystem/v1_13_0/Dxe/ComputerS= ystemDxe.c index 1235760a1..85dffd434 100644 --- a/RedfishClientPkg/Features/ComputerSystem/v1_13_0/Dxe/ComputerSystemDx= e.c +++ b/RedfishClientPkg/Features/ComputerSystem/v1_13_0/Dxe/ComputerSystemDx= e.c @@ -125,12 +125,13 @@ RedfishResourceConsumeResource ( // Check and see if "@Redfish.Settings" exist or not. // ZeroMem (&PendingSettingResponse, sizeof (REDFISH_RESPONSE)); - Status =3D GetPendingSettings ( - Private->RedfishService, - Response.Payload, - &PendingSettingResponse, - &PendingSettingUri - ); + PendingSettingUri =3D NULL; + Status =3D GetPendingSettings ( + Private->RedfishService, + Response.Payload, + &PendingSettingResponse, + &PendingSettingUri + ); if (!EFI_ERROR (Status)) { DEBUG ((REDFISH_DEBUG_TRACE, "%a: @Redfish.Settings found: %s\n", __fu= nc__, PendingSettingUri)); Private->Uri =3D PendingSettingUri; @@ -150,8 +151,12 @@ RedfishResourceConsumeResource ( // // Find etag in HTTP response header // - Etag =3D NULL; - GetHttpResponseEtag (ExpectedResponse, &Etag); + Etag =3D NULL; + Status =3D GetHttpResponseEtag (ExpectedResponse, &Etag); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "%a: failed to get ETag from HTTP header\n", __fu= nc__)); + } + Status =3D RedfishConsumeResourceCommon (Private, Private->Json, Etag); if (EFI_ERROR (Status)) { DEBUG ((DEBUG_ERROR, "%a: failed to consume resource from: %s: %r\n", = __func__, Private->Uri, Status)); @@ -176,6 +181,10 @@ RedfishResourceConsumeResource ( Private->Json =3D NULL; } =20 + if (PendingSettingUri !=3D NULL) { + FreePool (PendingSettingUri); + } + return Status; } =20 @@ -329,8 +338,12 @@ RedfishResourceCheck ( // // Find etag in HTTP response header // - Etag =3D NULL; - GetHttpResponseEtag (&Response, &Etag); + Etag =3D NULL; + Status =3D GetHttpResponseEtag (&Response, &Etag); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "%a: failed to get ETag from HTTP header\n", __fu= nc__)); + } + Status =3D RedfishCheckResourceCommon (Private, Private->Json, Etag); if (EFI_ERROR (Status)) { DEBUG ((DEBUG_ERROR, "%a: failed to check resource from: %s: %r\n", __= func__, Uri, Status)); diff --git a/RedfishClientPkg/Features/ComputerSystem/v1_5_0/Dxe/ComputerSy= stemDxe.c b/RedfishClientPkg/Features/ComputerSystem/v1_5_0/Dxe/ComputerSys= temDxe.c index 5207362da..e4a2f1566 100644 --- a/RedfishClientPkg/Features/ComputerSystem/v1_5_0/Dxe/ComputerSystemDxe= .c +++ b/RedfishClientPkg/Features/ComputerSystem/v1_5_0/Dxe/ComputerSystemDxe= .c @@ -126,12 +126,13 @@ RedfishResourceConsumeResource ( // Check and see if "@Redfish.Settings" exist or not. // ZeroMem (&PendingSettingResponse, sizeof (REDFISH_RESPONSE)); - Status =3D GetPendingSettings ( - Private->RedfishService, - Response.Payload, - &PendingSettingResponse, - &PendingSettingUri - ); + PendingSettingUri =3D NULL; + Status =3D GetPendingSettings ( + Private->RedfishService, + Response.Payload, + &PendingSettingResponse, + &PendingSettingUri + ); if (!EFI_ERROR (Status)) { DEBUG ((REDFISH_DEBUG_TRACE, "%a: @Redfish.Settings found: %s\n", __fu= nc__, PendingSettingUri)); Private->Uri =3D PendingSettingUri; @@ -151,8 +152,12 @@ RedfishResourceConsumeResource ( // // Find etag in HTTP response header // - Etag =3D NULL; - GetHttpResponseEtag (ExpectedResponse, &Etag); + Etag =3D NULL; + Status =3D GetHttpResponseEtag (ExpectedResponse, &Etag); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "%a: failed to get ETag from HTTP header\n", __fu= nc__)); + } + Status =3D RedfishConsumeResourceCommon (Private, Private->Json, Etag); if (EFI_ERROR (Status)) { DEBUG ((DEBUG_ERROR, "%a: failed to consume resource from: %s: %r\n", = __func__, Private->Uri, Status)); @@ -177,6 +182,10 @@ RedfishResourceConsumeResource ( Private->Json =3D NULL; } =20 + if (PendingSettingUri !=3D NULL) { + FreePool (PendingSettingUri); + } + return Status; } =20 @@ -330,8 +339,12 @@ RedfishResourceCheck ( // // Find etag in HTTP response header // - Etag =3D NULL; - GetHttpResponseEtag (&Response, &Etag); + Etag =3D NULL; + Status =3D GetHttpResponseEtag (&Response, &Etag); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "%a: failed to get ETag from HTTP header\n", __fu= nc__)); + } + Status =3D RedfishCheckResourceCommon (Private, Private->Json, Etag); if (EFI_ERROR (Status)) { DEBUG ((DEBUG_ERROR, "%a: failed to check resource from: %s: %r\n", __= func__, Uri, Status)); diff --git a/RedfishClientPkg/Features/Memory/V1_7_1/Dxe/MemoryDxe.c b/Redf= ishClientPkg/Features/Memory/V1_7_1/Dxe/MemoryDxe.c index c4a363cdf..01a77d938 100644 --- a/RedfishClientPkg/Features/Memory/V1_7_1/Dxe/MemoryDxe.c +++ b/RedfishClientPkg/Features/Memory/V1_7_1/Dxe/MemoryDxe.c @@ -126,12 +126,13 @@ RedfishResourceConsumeResource ( // Check and see if "@Redfish.Settings" exist or not. // ZeroMem (&PendingSettingResponse, sizeof (REDFISH_RESPONSE)); - Status =3D GetPendingSettings ( - Private->RedfishService, - Response.Payload, - &PendingSettingResponse, - &PendingSettingUri - ); + PendingSettingUri =3D NULL; + Status =3D GetPendingSettings ( + Private->RedfishService, + Response.Payload, + &PendingSettingResponse, + &PendingSettingUri + ); if (!EFI_ERROR (Status)) { DEBUG ((REDFISH_DEBUG_TRACE, "%a: @Redfish.Settings found: %s\n", __fu= nc__, PendingSettingUri)); Private->Uri =3D PendingSettingUri; @@ -150,8 +151,12 @@ RedfishResourceConsumeResource ( // // Find etag in HTTP response header // - Etag =3D NULL; - GetHttpResponseEtag (ExpectedResponse, &Etag); + Etag =3D NULL; + Status =3D GetHttpResponseEtag (ExpectedResponse, &Etag); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "%a: failed to get ETag from HTTP header\n", __fu= nc__)); + } + Status =3D RedfishConsumeResourceCommon (Private, Private->Json, Etag); if (EFI_ERROR (Status)) { DEBUG ((DEBUG_ERROR, "%a: failed to consume resource from: %s: %r\n", = __func__, Private->Uri, Status)); @@ -173,6 +178,10 @@ RedfishResourceConsumeResource ( FreePool (Etag); } =20 + if (PendingSettingUri !=3D NULL) { + FreePool (PendingSettingUri); + } + return Status; } =20 @@ -326,8 +335,12 @@ RedfishResourceCheck ( // // Find etag in HTTP response header // - Etag =3D NULL; - GetHttpResponseEtag (&Response, &Etag); + Etag =3D NULL; + Status =3D GetHttpResponseEtag (&Response, &Etag); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "%a: failed to get ETag from HTTP header\n", __fu= nc__)); + } + Status =3D RedfishCheckResourceCommon (Private, Private->Json, Etag); if (EFI_ERROR (Status)) { DEBUG ((DEBUG_ERROR, "%a, failed to check resource from: %s: %r\n", __= func__, Uri, Status)); @@ -336,6 +349,10 @@ RedfishResourceCheck ( // // Release resource // + if (Etag !=3D NULL) { + FreePool (Etag); + } + RedfishHttpFreeResponse (&Response); Private->Payload =3D NULL; =20 diff --git a/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatu= reUtilityLib.c b/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishF= eatureUtilityLib.c index cc2b37b79..2e0fbf197 100644 --- a/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtili= tyLib.c +++ b/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtili= tyLib.c @@ -1738,6 +1738,7 @@ RedfishFeatureGetUnifiedArrayTypeConfigureLang ( =20 /** Find "ETag" from either HTTP header or Redfish response. + It's caller's responsibility to release Etag by calling FreePool(). =20 @param[in] Response HTTP response @param[out] Etag String buffer to return ETag @@ -1808,6 +1809,7 @@ GetHttpResponseEtag ( =20 /** Find "Location" from either HTTP header or Redfish response. + It's caller's responsibility to release Location by calling FreePool(). =20 @param[in] Response HTTP response @param[out] Location String buffer to return Location --=20 2.34.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116763): https://edk2.groups.io/g/devel/message/116763 Mute This Topic: https://groups.io/mt/104927846/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-