]> git.proxmox.com Git - mirror_edk2.git/commit
ShellPkg/Shell: Avoid reading content beyond string boundary
authorHao Wu <hao.a.wu@intel.com>
Tue, 19 Sep 2017 02:22:21 +0000 (10:22 +0800)
committerHao Wu <hao.a.wu@intel.com>
Thu, 21 Sep 2017 06:06:06 +0000 (14:06 +0800)
commit8c3e4688e0d8e6c218a98855d98976ce46dbb29e
treebcf35740f31be8f429fff65f214e362c903c2778
parent14dde9e903bb9a719ebb8f3381da72b19509bc36
ShellPkg/Shell: Avoid reading content beyond string boundary

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

Within function EfiShellGetDevicePathFromFilePath(), when the input
parameter 'Path' string is like:
"FS0:"

It is possible for the below statement:
"if (*(Path+StrLen(MapName)+1) == CHAR_NULL) {"

to read the content 1 byte beyond the string boundary (both 'Path' and
'MapName' will be FS0: in this case).

This commit adds additional checks to avoid this.

Cc: Steven Shi <steven.shi@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
ShellPkg/Application/Shell/ShellProtocol.c