From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.136; helo=mga12.intel.com; envelope-from=star.zeng@intel.com; receiver=edk2-devel@lists.01.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 9567B207E36BF for ; Sun, 13 May 2018 19:07:55 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 May 2018 19:07:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,398,1520924400"; d="scan'208";a="55596542" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga001.jf.intel.com with ESMTP; 13 May 2018 19:07:54 -0700 Received: from fmsmsx126.amr.corp.intel.com (10.18.125.43) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 13 May 2018 19:07:54 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by FMSMSX126.amr.corp.intel.com (10.18.125.43) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 13 May 2018 19:07:54 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.79]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.210]) with mapi id 14.03.0319.002; Mon, 14 May 2018 10:07:52 +0800 From: "Zeng, Star" To: cinnamon shia , "edk2-devel@lists.01.org" CC: "lersek@redhat.com" , Ansen Huang , "Zeng, Star" Thread-Topic: [edk2] [PATCH v2 1/2] MdeModulePkg Variable: Fix a corner case issue about setting a variable Thread-Index: AQHT6TvUN3AO5472wk6ukKJV1O/4D6QufbOw Date: Mon, 14 May 2018 02:07:51 +0000 Message-ID: <0C09AFA07DD0434D9E2A0C6AEB0483103BAEBCE8@shsmsx102.ccr.corp.intel.com> References: <20180511152112.33156-1-cinnamon.shia@hpe.com> In-Reply-To: <20180511152112.33156-1-cinnamon.shia@hpe.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH v2 1/2] MdeModulePkg Variable: Fix a corner case issue about setting a variable X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 May 2018 02:07:55 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Thanks for the contribution. Reviewed-by: Star Zeng to the patch series. And push the patches to d741d1419350dc4ae868d4a9396f9da33a3416a0 and 989f7a= 2cf0e27123fda5ca538b15832e115e0f4e. Thanks, Star -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of cinn= amon shia Sent: Friday, May 11, 2018 11:21 PM To: edk2-devel@lists.01.org Cc: lersek@redhat.com; Zeng, Star ; Ansen Huang Subject: [edk2] [PATCH v2 1/2] MdeModulePkg Variable: Fix a corner case iss= ue about setting a variable Fix the issue that failed to update or add a UEFI variable if the remaining= size is equal to the data size of the variable. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: cinnamon shia Signed-off-by: Ansen Huang --- MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c b/MdeMod= ulePkg/Universal/Variable/RuntimeDxe/Variable.c index 6caf603b3d..7303681aaa 100644 --- a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c +++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c @@ -17,7 +17,7 @@ integer overflow. It should also check attribute to avoid authentication= bypass. =20 Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
-(C) Copyright 2015 Hewlett Packard Enterprise Development LP
+(C) Copyright 2015-2018 Hewlett Packard Enterprise Development LP
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD = License which accompanies this distribution. The full text of the license may be = found at @@ -288,7 +288,7 @@ UpdateVariableStore ( DataPtr +=3D mVariableModuleGlobal->VariableGlobal.NonVolatileVariab= leBase; } =20 - if ((DataPtr + DataSize) >=3D ((EFI_PHYSICAL_ADDRESS) (UINTN) ((UINT8 = *) FwVolHeader + FwVolHeader->FvLength))) { + if ((DataPtr + DataSize) > ((EFI_PHYSICAL_ADDRESS) (UINTN) ((UINT8 *) = FwVolHeader + FwVolHeader->FvLength))) { return EFI_INVALID_PARAMETER; } } else { @@ -301,7 +301,7 @@ UpdateVariableStore ( DataPtr +=3D mVariableModuleGlobal->VariableGlobal.VolatileVariableB= ase; } =20 - if ((DataPtr + DataSize) >=3D ((UINTN) ((UINT8 *) VolatileBase + Volat= ileBase->Size))) { + if ((DataPtr + DataSize) > ((UINTN) ((UINT8 *) VolatileBase + Volatile= Base->Size))) { return EFI_INVALID_PARAMETER; } =20 --=20 2.16.1.windows.4 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel