Reviewed-by: Jaben Carsey <jaben.car...@intel.com> > -----Original Message----- > From: Ni, Ruiyu > Sent: Wednesday, February 07, 2018 7:41 PM > To: edk2-devel@lists.01.org > Cc: Carsey, Jaben <jaben.car...@intel.com> > Subject: [PATCH] ShellPkg/rm: fix hang when deleting an absolutely-empty > directory An ordinary empty directory should contain "." and ".." entries. > When an empty directory even doesn't contain "." or ".." entry, > FileHandleFindFirstFile() may return error status... > Importance: High > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Ruiyu Ni <ruiyu...@intel.com> > Cc: Jaben Carsey <jaben.car...@intel.com> > --- > ShellPkg/Library/UefiShellLevel2CommandsLib/Rm.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/ShellPkg/Library/UefiShellLevel2CommandsLib/Rm.c > b/ShellPkg/Library/UefiShellLevel2CommandsLib/Rm.c > index 618610d0f3..288e7666a8 100644 > --- a/ShellPkg/Library/UefiShellLevel2CommandsLib/Rm.c > +++ b/ShellPkg/Library/UefiShellLevel2CommandsLib/Rm.c > @@ -2,7 +2,7 @@ > Main file for attrib shell level 2 function. > > (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR> > - Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR> > + Copyright (c) 2009 - 2018, Intel Corporation. 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 > @@ -33,6 +33,7 @@ IsDirectoryEmpty ( > IN EFI_HANDLE FileHandle > ) > { > + EFI_STATUS Status; > EFI_FILE_INFO *FileInfo; > BOOLEAN NoFile; > BOOLEAN RetVal; > @@ -41,8 +42,8 @@ IsDirectoryEmpty ( > NoFile = FALSE; > FileInfo = NULL; > > - for (FileHandleFindFirstFile(FileHandle, &FileInfo) > - ; !NoFile > + for (Status = FileHandleFindFirstFile(FileHandle, &FileInfo) > + ; !NoFile && !EFI_ERROR (Status) > ; FileHandleFindNextFile(FileHandle, FileInfo, &NoFile) > ){ > if (StrStr(FileInfo->FileName, L".") != FileInfo->FileName > -- > 2.16.1.windows.1
_______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel