mirror of https://github.com/acidanthera/audk.git
ShellPkg-Cd: Ensure all valid cd targets are handled properly
ShellPkg-Cd: Ensure all valid cd targets are handled properly Make sure that PathCleanUpDirectories() is called on all valid targets of the cd command. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jim Dailey <jim_dailey@dell.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
This commit is contained in:
parent
7177be0bd8
commit
b1df6c2582
|
@ -4,6 +4,7 @@
|
|||
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
|
||||
(C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2018, Dell Technologies. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -261,9 +262,6 @@ ShellCommandRunCd (
|
|||
|
||||
if (Param1Copy != NULL && IsCurrentFileSystem (Param1Copy, Cwd)) {
|
||||
Status = ReplaceDriveWithCwd (&Param1Copy,Cwd);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
Param1Copy = PathCleanUpDirectories (Param1Copy);
|
||||
}
|
||||
} else {
|
||||
//
|
||||
// Can't use cd command to change filesystem.
|
||||
|
@ -302,13 +300,15 @@ ShellCommandRunCd (
|
|||
StrCatS (TempBuffer, TotalSize / sizeof (CHAR16), Param1Copy);
|
||||
|
||||
FreePool (Param1Copy);
|
||||
Param1Copy = PathCleanUpDirectories (TempBuffer);
|
||||
Param1Copy = TempBuffer;
|
||||
TempBuffer = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!EFI_ERROR(Status)) {
|
||||
Param1Copy = PathCleanUpDirectories (Param1Copy);
|
||||
Status = ExtractDriveAndPath (Param1Copy, &Drive, &Path);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue