diff --git a/ArmPkg/Library/SemihostLib/SemihostLib.c b/ArmPkg/Library/SemihostLib/SemihostLib.c index 5a36515b77..87c0379d6b 100644 --- a/ArmPkg/Library/SemihostLib/SemihostLib.c +++ b/ArmPkg/Library/SemihostLib/SemihostLib.c @@ -40,6 +40,11 @@ SemihostFileOpen ( return RETURN_INVALID_PARAMETER; } + // Remove any leading separator (e.g.: '\'). EFI Shell adds one. + if (*FileName == '\\') { + FileName++; + } + OpenBlock.FileName = FileName; OpenBlock.Mode = Mode; OpenBlock.NameLength = AsciiStrLen(FileName);