util/grub-mkpasswd-pbkdf2: Simplify the main function implementation
Allocate memory if needed, while saving the corresponding release operation, reducing the amount of code and code complexity. Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
fa36f63760
commit
0b4d01794a
@ -133,34 +133,24 @@ main (int argc, char *argv[])
|
||||
exit(1);
|
||||
}
|
||||
|
||||
buf = xmalloc (arguments.buflen);
|
||||
salt = xmalloc (arguments.saltlen);
|
||||
|
||||
printf ("%s", _("Enter password: "));
|
||||
if (!grub_password_get (pass1, GRUB_AUTH_MAX_PASSLEN))
|
||||
{
|
||||
free (buf);
|
||||
free (salt);
|
||||
grub_util_error ("%s", _("failure to read password"));
|
||||
}
|
||||
printf ("%s", _("Reenter password: "));
|
||||
if (!grub_password_get (pass2, GRUB_AUTH_MAX_PASSLEN))
|
||||
{
|
||||
free (buf);
|
||||
free (salt);
|
||||
grub_util_error ("%s", _("failure to read password"));
|
||||
}
|
||||
|
||||
if (strcmp (pass1, pass2) != 0)
|
||||
{
|
||||
memset (pass1, 0, sizeof (pass1));
|
||||
memset (pass2, 0, sizeof (pass2));
|
||||
free (buf);
|
||||
free (salt);
|
||||
grub_util_error ("%s", _("passwords don't match"));
|
||||
}
|
||||
memset (pass2, 0, sizeof (pass2));
|
||||
|
||||
buf = xmalloc (arguments.buflen);
|
||||
salt = xmalloc (arguments.saltlen);
|
||||
|
||||
if (grub_get_random (salt, arguments.saltlen))
|
||||
{
|
||||
memset (pass1, 0, sizeof (pass1));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user