mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-21 06:49:35 +00:00
fs/archelp: If path given to grub_archelp_dir() is not a directory return error
Specifically, return GRUB_ERR_BAD_FILE_TYPE because this is what is expected by the ls command when it is given a path to a non-directory. This fixes a bug where calling ls with a list of non-directory paths outputs a blank line for each such argument. Signed-off-by: Glenn Washburn <development@efficientek.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
1 parent
1de5832699
commit
fcbea18c58
1 file changed
+8
@@ -180,6 +180,14 @@ grub_archelp_dir (struct grub_archelp_data *data,
|
||||
if (p)
|
||||
*p = 0;
|
||||
|
||||
if ((*n == 0) && ((mode & GRUB_ARCHELP_ATTR_TYPE)
|
||||
!= GRUB_ARCHELP_ATTR_DIR))
|
||||
{
|
||||
grub_error (GRUB_ERR_BAD_FILE_TYPE, N_("not a directory"));
|
||||
grub_free (name);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (((!prev) || (grub_strcmp (prev, name) != 0)) && *n != 0)
|
||||
{
|
||||
struct grub_dirhook_info info;
|
||||
|
||||
Reference in new issue
Block a user