diff --git a/grub-core/commands/parttool.c b/grub-core/commands/parttool.c index d907694dd..42c590e1a 100644 --- a/grub-core/commands/parttool.c +++ b/grub-core/commands/parttool.c @@ -282,8 +282,11 @@ grub_cmd_parttool (grub_command_t cmd __attribute__ ((unused)), break; } if (! cur) - return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("unknown argument `%s'"), + { + grub_device_close (dev); + return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("unknown argument `%s'"), args[i]); + } ptool = cur; pargs = (struct grub_parttool_args *) grub_zalloc (ptool->nargs * sizeof (struct grub_parttool_args));