]> git.proxmox.com Git - mirror_edk2.git/commit
MdeModulePkg VariableSmm: Check InfoSize correctly
authorStar Zeng <star.zeng@intel.com>
Thu, 8 Dec 2016 10:16:05 +0000 (18:16 +0800)
committerStar Zeng <star.zeng@intel.com>
Mon, 12 Dec 2016 01:55:37 +0000 (09:55 +0800)
commitd5aef955b917e1afc2a76b68f91154aa77e0e12c
tree0141be64feb972afb06bd0fb315508cf242bb11b
parent62016c1e898434a0326f658912b1e7e0a9c5575e
MdeModulePkg VariableSmm: Check InfoSize correctly

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=290

Current SmmVariableGetStatistics() in VariableSmm.c is always
checking input InfoSize against the first variable info,
it is incorrect.

For instance, there are three variables.
BootOrder
Boot0000
Boot0001

If the input InfoEntry is holding the second variable info (Boot0000)
and InfoSize is sizeof (VARIABLE_INFO_ENTRY) + StrSize (L"Boot0000"),
current code will return EFI_BUFFER_TOO_SMALL, but it should return
the third variable info (Boot0001).

This patch is to refine the code logic.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.c