audk/MdeModulePkg/Universal/Variable
Star Zeng d5aef955b9 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>
2016-12-12 09:55:37 +08:00
..
EmuRuntimeDxe MdeModulePkg Variable: return error for empty str VariableName to GetVariable 2016-05-15 17:48:53 +08:00
Pei MdeModulePkg Variable: return error for empty str VariableName to GetVariable 2016-05-15 17:48:53 +08:00
RuntimeDxe MdeModulePkg VariableSmm: Check InfoSize correctly 2016-12-12 09:55:37 +08:00