https://bugzilla.tianocore.org/show_bug.cgi?id=331
If Nt32 is built using UEFI Shell from the ShellPkg sources,
an ASSERT() is generated when a single '\' character is
entered at the shell prompt.
The WinNtSimpleFileSystemDxe module GetNextFileNameToken()
function breaks a file path up into tokens, but it does not
handle the case where a FileName ends in a '\' character.
It returns an empty string instead of NULL. The fix is
to set *FileName to NULL if the remaining file path is an
empty string.
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Jaben Carsey <jaben.carsey@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
In GetInfo interface, current code copy real file name buffer
with full path file length. It should use real file name
length. This patch fix this error.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
The enhancement algorithm to calculate directory size (Edk r2583) is incorrect because SetPosition() does not allow other arguments other than 0, causing current file cursor is lost.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9713 6f19259b-4bc3-4df7-8a09-765794883524
A new function IsFileNameValid is added to check if input FileName is valid. If the FileName meets the following scenirio, it will be considered to be invalid:
1) There is two "\" in the path. For example, ".\SomePath\\".
2) There is a least one "/" in the path. The reason is that UEFI 2.1 specifcation only mention that ".", ".." and "\" is valid path modifiers.
3) There is more than two continous dots in the path name token. For example, ".\SomePath\....\SomeName.txt".
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4973 6f19259b-4bc3-4df7-8a09-765794883524