diff --git a/ShellPkg/Application/Shell/ShellProtocol.c b/ShellPkg/Application/Shell/ShellProtocol.c index 0a19793a1b..52904e9e02 100644 --- a/ShellPkg/Application/Shell/ShellProtocol.c +++ b/ShellPkg/Application/Shell/ShellProtocol.c @@ -467,7 +467,9 @@ EfiShellGetFilePathFromDevicePath( // If necessary, add a "\", but otherwise don't // (This is specified in the above section, and also implied by the // UEFI Shell spec section 3.7) - if ((PathForReturn[PathSize - 1] != L'\\') && + if ((PathSize != 0) && + (PathForReturn != NULL) && + (PathForReturn[PathSize - 1] != L'\\') && (AlignedNode->PathName[0] != L'\\')) { PathForReturn = StrnCatGrow (&PathForReturn, &PathSize, L"\\", 1); }