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:
committed by
Ruiyu Ni
parent
7177be0bd8
commit
b1df6c2582
@ -4,6 +4,7 @@
|
|||||||
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
|
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
|
||||||
(C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
|
(C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
|
||||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<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
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
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
|
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)) {
|
if (Param1Copy != NULL && IsCurrentFileSystem (Param1Copy, Cwd)) {
|
||||||
Status = ReplaceDriveWithCwd (&Param1Copy,Cwd);
|
Status = ReplaceDriveWithCwd (&Param1Copy,Cwd);
|
||||||
if (!EFI_ERROR (Status)) {
|
|
||||||
Param1Copy = PathCleanUpDirectories (Param1Copy);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
//
|
//
|
||||||
// Can't use cd command to change filesystem.
|
// Can't use cd command to change filesystem.
|
||||||
@ -302,13 +300,15 @@ ShellCommandRunCd (
|
|||||||
StrCatS (TempBuffer, TotalSize / sizeof (CHAR16), Param1Copy);
|
StrCatS (TempBuffer, TotalSize / sizeof (CHAR16), Param1Copy);
|
||||||
|
|
||||||
FreePool (Param1Copy);
|
FreePool (Param1Copy);
|
||||||
Param1Copy = PathCleanUpDirectories (TempBuffer);
|
Param1Copy = TempBuffer;
|
||||||
|
TempBuffer = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!EFI_ERROR(Status)) {
|
if (!EFI_ERROR(Status)) {
|
||||||
|
Param1Copy = PathCleanUpDirectories (Param1Copy);
|
||||||
Status = ExtractDriveAndPath (Param1Copy, &Drive, &Path);
|
Status = ExtractDriveAndPath (Param1Copy, &Drive, &Path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user