* kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
* normal/completion.c (grub_normal_do_completion): Likewise.
Reported by Hitoshi Ozeki.
2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
+ * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
+ * normal/completion.c (grub_normal_do_completion): Likewise.
+ Reported by Hitoshi Ozeki.
+
+2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
+
Do not use devices at boot in chainloading.
* loader/i386/pc/chainloader.c (boot_drive): New variable.
val[0] = 0;
grub_env_set (args[0], val + 1);
val[0] = '=';
+ grub_free (args[0]);
continue;
}
/* If nothing is specified, restart. */
if (*name == '\0')
- continue;
+ {
+ grub_free (args[0]);
+ continue;
+ }
/* Find the command and execute it. */
for (cmd = grub_rescue_command_list; cmd; cmd = cmd->next)
grub_printf ("Unknown command `%s'\n", name);
grub_printf ("Try `help' for usage\n");
}
+
+ grub_free (args[0]);
}
}
if (num_found == 1)
grub_strcat (ret, suffix);
- grub_free (match);
-
if (*ret == '\0')
{
grub_free (ret);
- return 0;
+ goto fail;
}
+ grub_free (argv[0]);
+ grub_free (match);
return ret;
}
fail:
+ grub_free (argv[0]);
grub_free (match);
grub_errno = GRUB_ERR_NONE;