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 B158D7803CF for ; Tue, 28 Nov 2023 05:17:41 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=unVhkInUkQ8uGYPfI5E08VWyuIgmSXDv5Cm47f4vl6Q=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:msip_labels:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1701148660; v=1; b=POS17JkBJ8MyqAobrXAgpl3mjuoTwlo6ma/psLIyLaMwH/XKFMXTYb5PLTUQbKB4LmXRWjts FtaolpVnURAFXxOcCVIlqIkIL2hC/A9BbECY8puLnnJT86/6wCpiXJD8bcZR8oaT1PUeoa2z3KR IKAUNK+xl3fG4Aw7M+UqglO4= X-Received: by 127.0.0.2 with SMTP id acOOYY7687511xkn12SeKSiB; Mon, 27 Nov 2023 21:17:40 -0800 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.53]) by mx.groups.io with SMTP id smtpd.web10.26174.1701148659705751824 for ; Mon, 27 Nov 2023 21:17:39 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dCUgsRfhexfCACFVkhw57In1ChR0TUMAHOsuyeOpi0JryWOhFsT9Ixf34ffCaEtuEUfD4oIEB+IjV5Qepp2qjOYHi9oEdI6M2Z8wWrC4Tgirf4NsoosAQDNWA17AFbpvz4uSDNNB3CQiS+STOS/bLQuvaF9WuLIE7CtfZrzCxAciJM+bzJ1Ur2xoytRJPLCWHCEMoLNlcX3kjBBHuprHHMQG1QXXEsa7HpguUhGmEs6ZmekdkaWPxqFlMyStjFpw/oAzfWQORX/hwY9cUZkdKBj/oiRawrzC8GS5VFG8xF1Wo/9cYjR1tx73VHwCAJly0yqwSOytp+j6PliYA96PQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=442qoThH1RWrZPZVZeZAnOGZDkK5p1FLndF4Y3dCORo=; b=hupOXeb94F5VmN03G0uvp84U4a/qvwFnTFaS0G64UkrI+ptQlDrsyWz4bIqrddga6tPVvYR0SCyl9Q3nbttZh6q6KmTwRaEkc6l7Z9AkR3SpO+UtHCdxvwRM1gIb9W0QKg/8zs5OI1HdOEkLgYrEE23V687O+rUvypxouDslKRlUT8tv8GS73ed2SApogQYof0pXkdNDnXftdlEtNt1SGi7b0wfSD1+JBSmiEbWtuqULr5S2GZuExsoAoVA4mrq7HdTZmC62V3jQmchjt21/uOlwES4Ip2+Dv4L6PJe9GoHzYAv2MkUq0eIS5rH6+bqYTO8NbrbWWFXA+zsxbSu/TQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by MW4PR12MB7263.namprd12.prod.outlook.com (2603:10b6:303:226::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.21; Tue, 28 Nov 2023 05:17:37 +0000 X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::91d9:e679:32a3:dd05]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::91d9:e679:32a3:dd05%5]) with mapi id 15.20.7025.022; Tue, 28 Nov 2023 05:17:37 +0000 From: "Chang, Abner via groups.io" To: Nickle Wang , "devel@edk2.groups.io" CC: Igor Kulchytskyy , Nick Ramirez Subject: Re: [edk2-devel] [edk2-redfish-client][PATCH 6/6] RedfishClientPkg/RedfishFeatureUtilityLib: add string NULL check Thread-Topic: [edk2-redfish-client][PATCH 6/6] RedfishClientPkg/RedfishFeatureUtilityLib: add string NULL check Thread-Index: AQHaHhoyohgG5oNaeE+deiFsRY/JubCPOCeQ Date: Tue, 28 Nov 2023 05:17:37 +0000 Message-ID: References: <20231123143428.3724-1-nicklew@nvidia.com> In-Reply-To: <20231123143428.3724-1-nicklew@nvidia.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=1f4dd93e-971d-42fc-b3f7-5187cd994f55;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2023-11-28T05:17:28Z;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|MW4PR12MB7263:EE_ x-ms-office365-filtering-correlation-id: 6a3f7f98-2ba6-49df-67b9-08dbefd15646 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: 9J0wqpq04KA/6vFmSce24GF8pppH6/NzGeJW8pnSBAgE6XiQVK7aSXPSi/5Q8Q5zvm+S46cPPSS1XQyHhjX0Fl7hDW8RIAmiTzzTDDPoVU5IZLpuBvUc80jMbCft68j7ztrxjQlkh8fI/eOwEjnxiITB2Z1mj+K0lYGJP7Pjg70xdK/fcph9YPd42HrT176XOD91iABJzUMA/3eu7z0QefmdlIHqBuHJ632G6sS6SojW/qJH1kvjHyYWCE+/kgQEBfBg+M39suHLkQ1mOQWvA4lLgIhnz6Ja2A5HGFhsP3emeLhHCanP90PdR9XWQUc/nsOxvc5myi6cMNWw5u1/H1JNmfdhCMITAWgk03WFaVt6vBt3/7uUrWPyEqyoTHHNlLsQztKQx4F3jJkizn4mTD8W+MrvtErZcoVseV8/eMzytKFuJiU86XaS4XFReycXwSvJw8jOPX3A7rS8ToEQQIEShWpz5nA1VUbB1C3p0TF4p1oE6NWN7H7HvTQZ8NYgJOYI6w/5PTqtNhOwhbkrZV95Udv1R5GLg+IYIgsAaBxTEbY3pb9XN5V8DRAAJYlmEG9awSSaGjJlkFLpL1fWLvYp2NH8pXQ2ebPj4L8IifFfNT78r28EYMu09FUDz2/HK6ZdgypQiKj6N2ey7YEfW273zv3/nSKTBFWTcjx4tUk= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?2eJy/E9RvR2TQCNT7UiC15Nl5rmoCfjwF87B+90eFny2ppsVaZ+OCJVW1Uru?= =?us-ascii?Q?xTRDk4kI0pK2fK0negYNZWkGZJt40lVEFNoJBEVLv5gfaOZOqUGimb6nMle0?= =?us-ascii?Q?XFz4RQenCACFsYUnWJlQ75+plNow4RVbcDM/76kL4433m46nhIbvBloQr3CM?= =?us-ascii?Q?eKyDOdcWacz4YeItaXRd7bTuY1BDOt2yIoEkIUmbuigtArk5SJ/o0qUnrhR+?= =?us-ascii?Q?0U7egLNXymcf5NXVxajioUXrkjDbx8039ao9cqhsNBrUCdqqZ0l73SIUGMGB?= =?us-ascii?Q?Ta6am5QVS2ePS17u7Xz4TOeFx9sQLYcDL14CzY6k3NH1+qrhn9fUP0a7MEZT?= =?us-ascii?Q?J9nZ3Fa0SAMscbFIvBH1/911acnVbJ6HCn6nJscEtMYOnWrRnp0y122weRRl?= =?us-ascii?Q?ueUam2Ps9f/6BV/PWu+ulAO/fLOf8swBCcgmSPrN+kMOBq6BgYVZZNQ/kYB8?= =?us-ascii?Q?riNQLGraCJtOZYtv7+tZDaMA1i9HJcDiKwnklHHZCmVcwRP1KnRDT+ffmuJP?= =?us-ascii?Q?TJ0ABmswgWGqN7CZYc1yquL1g0VsVi3svpKchKo5es2C9wZU3DSODtWz0QhI?= =?us-ascii?Q?GfkgZ5AK57sjYNLh1YjFzp3z3bXUSSyFFgZRi1yOq3pTe9788DNnM3x4Le5X?= =?us-ascii?Q?qKf0Q3D+nwf4P+Xymg0KBSSBnlp0GDZJguSGpBHg4PwnzVAJY3SgUHSXQ/LU?= =?us-ascii?Q?WFneWa/K7OideDdERV7VV8uJlVazXjq/hBRBaajlGvj5GsOaUWpHSo80qg+2?= =?us-ascii?Q?Zx5hqaGrzgSW5h14RgPEXrAiKuYI/Q66pWesBal/6nVLs9jb27/Ee6LyBLLD?= =?us-ascii?Q?96R2jwYih19elN8DepF6qWUe0O40aAMSyOL0QoIeQPS+AsWJfMASA1NuJN7N?= =?us-ascii?Q?HPcibX1T0AYpf9cuW1TUvZ5xyybG/4ao1LMd96ngwY4+GOaHfXlETEQy5pIq?= =?us-ascii?Q?uOn7gnC3ObL9Swpj+VyqJHZpxaPJ+NTiCxvKTe+ScV2HCezTq7ZhpVr0zSIj?= =?us-ascii?Q?LXqt+1uM9XiVhWtQq93UYeoSj/SboiUQAprwZA3eq1oZsc2d7sFCJS/NZ121?= =?us-ascii?Q?uUr8Lo0i2yFTOFO7R55jpFPA2Yjfdz1tPFROeD/B+VGh6fTUPO7O0Gj19RII?= =?us-ascii?Q?WAz/01RlOB6yF8o+ojHCbsEYTUbCsiW9J58F+S2VXiB3He5B/qnMkBnMZuW5?= =?us-ascii?Q?lwWklLOwJyJN/uFhPFPP5Ne6DnTWWyttWzXcUvdQ7s/KRmB5gEoar8TaHkYU?= =?us-ascii?Q?EKmThp6FapLVExlDnUxQDRp2G2bYgnqAOKQrFnlunu0g6OfIvDNbCJmrnBvy?= =?us-ascii?Q?+yUZzJyP/h8s5asGjhtbIRKUnPwnM5VzxhGAm4epvWFwDBWIF5ikXTKY1+HV?= =?us-ascii?Q?8Oc1g2Jfonq3SFI7UrMaTqNXlVhO500bRQ5svcQiEJZwXv22VKLvVXAh5BGO?= =?us-ascii?Q?ALcx7MHTxS04yekAuEiQGXe/EDJH+WplsZtEnd8171RyM8yVCtrZkBUYMHUT?= =?us-ascii?Q?A1lApd3JLR4rTtKD6XqKUYxgpPL4KcWcx6fbzzXLXsX85w/xpFwRx2KLcucM?= =?us-ascii?Q?+mjdKhSU6Y2xPLNETJLsL7unYHcq9j/KT6Putn6c?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3966.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6a3f7f98-2ba6-49df-67b9-08dbefd15646 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Nov 2023 05:17:37.7698 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: AMTnceHlWRnykGVqweh31C9Jkinn43CTD+E0p/nZSeNcquSe0xCA0WASZBpL7wbHmDo6wlvzKwiIYW6uJvztEA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7263 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,abner.chang@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: uDSkb6emFR7eYynGWmkBcMQlx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="us-ascii" 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=POS17JkB; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=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 [AMD Official Use Only - General] Reviewed-by: Abner Chang > -----Original Message----- > From: Nickle Wang > Sent: Thursday, November 23, 2023 10:34 PM > To: devel@edk2.groups.io > Cc: Chang, Abner ; Igor Kulchytskyy > ; Nick Ramirez > Subject: [edk2-redfish-client][PATCH 6/6] > RedfishClientPkg/RedfishFeatureUtilityLib: add string NULL check > > Caution: This message originated from an External Source. Use proper caut= ion > when opening attachments, clicking links, or responding. > > > Add string NULL check in attribute comparison function and prevent > NULL string assertion. This is not supposed to happen in normal > condition so add error output for debugging purpose. > > Signed-off-by: Nickle Wang > Cc: Abner Chang > Cc: Igor Kulchytskyy > Cc: Nick Ramirez > --- > .../RedfishFeatureUtilityLib.c | 31 ++++++++++++++----- > 1 file changed, 24 insertions(+), 7 deletions(-) > > diff --git > a/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtility= Lib. > c > b/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtility= Lib. > c > index 753cd7b2..6652539c 100644 > --- > a/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtility= Lib. > c > +++ > b/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtility= Lib. > c > @@ -3743,6 +3743,15 @@ CompareRedfishPropertyVagueValues ( > // Loop through all key/value on Redfish service.. > // > while (ThisRedfishVagueKeyValuePtr !=3D NULL) { > + // > + // Empty attribute string check. > + // > + if (IS_EMPTY_STRING (ThisConfigVagueKeyValuePtr->KeyNamePtr) || > IS_EMPTY_STRING (ThisRedfishVagueKeyValuePtr->KeyNamePtr)) { > + DEBUG ((DEBUG_ERROR, "%a: empty attribute name detected!!\n", > __func__)); > + ThisRedfishVagueKeyValuePtr =3D ThisRedfishVagueKeyValuePtr- > >NextKeyValuePtr; > + continue; > + } > + > if (AsciiStrCmp (ThisConfigVagueKeyValuePtr->KeyNamePtr, > ThisRedfishVagueKeyValuePtr->KeyNamePtr) =3D=3D 0) { > // > // Check the type of value. > @@ -3758,28 +3767,36 @@ CompareRedfishPropertyVagueValues ( > // > // Is the string identical? > // > - if (AsciiStrCmp ( > - ThisConfigVagueKeyValuePtr->Value->DataValue.CharPtr, > - ThisRedfishVagueKeyValuePtr->Value->DataValue.CharPtr > - ) =3D=3D 0) > - { > - break; > + if ((ThisConfigVagueKeyValuePtr->Value->DataValue.CharPtr !=3D= NULL) > && (ThisRedfishVagueKeyValuePtr->Value->DataValue.CharPtr !=3D NULL)) { > + if (AsciiStrCmp ( > + ThisConfigVagueKeyValuePtr->Value->DataValue.CharPtr, > + ThisRedfishVagueKeyValuePtr->Value->DataValue.CharPtr > + ) =3D=3D 0) > + { > + break; > + } else { > + DEBUG ((REDFISH_DEBUG_TRACE, "%a: %a is updated\n", __func= __, > ThisConfigVagueKeyValuePtr->KeyNamePtr)); > + return FALSE; > + } > } else { > - return FALSE; > + DEBUG ((DEBUG_ERROR, "%a: NULL attribute (%a) value > detected!!\n", __func__, ThisConfigVagueKeyValuePtr->KeyNamePtr)); > } > } else if (ThisConfigVagueKeyValuePtr->Value->DataType =3D=3D > RedfishCS_Vague_DataType_Int64) { > if (*ThisConfigVagueKeyValuePtr->Value->DataValue.Int64Ptr =3D= =3D > *ThisRedfishVagueKeyValuePtr->Value->DataValue.Int64Ptr) { > break; > } else { > + DEBUG ((REDFISH_DEBUG_TRACE, "%a: %a is updated\n", __func__= , > ThisConfigVagueKeyValuePtr->KeyNamePtr)); > return FALSE; > } > } else if (ThisConfigVagueKeyValuePtr->Value->DataType =3D=3D > RedfishCS_Vague_DataType_Bool) { > if ((UINT8)*ThisConfigVagueKeyValuePtr->Value->DataValue.BoolP= tr =3D=3D > (UINT8)*ThisRedfishVagueKeyValuePtr->Value->DataValue.BoolPtr) { > break; > } else { > + DEBUG ((REDFISH_DEBUG_TRACE, "%a: %a is updated\n", __func__= , > ThisConfigVagueKeyValuePtr->KeyNamePtr)); > return FALSE; > } > } else { > + DEBUG ((REDFISH_DEBUG_TRACE, "%a: %a unsupported type: 0x%x\n"= , > __func__, ThisConfigVagueKeyValuePtr->KeyNamePtr, > ThisConfigVagueKeyValuePtr->Value->DataType)); > return FALSE; > } > } > -- > 2.17.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 (#111795): https://edk2.groups.io/g/devel/message/111795 Mute This Topic: https://groups.io/mt/102767547/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-