ping.
Thanks,
Tianjia
On 11/18/20 2:58 PM, Tianjia Zhang wrote:
Allocate memory if needed, while saving the corresponding release
operation, reducing the amount of code and code complexity.
Signed-off-by: Tianjia Zhang <tianjia.zh...@linux.alibaba.com>
---
util/grub-mkpasswd-pbkdf2.c | 20 +++++---------------
1 file changed, 5 insertions(+), 15 deletions(-)
diff --git a/util/grub-mkpasswd-pbkdf2.c b/util/grub-mkpasswd-pbkdf2.c
index 5805f3c10..cd7943df6 100644
--- a/util/grub-mkpasswd-pbkdf2.c
+++ b/util/grub-mkpasswd-pbkdf2.c
@@ -132,35 +132,25 @@ main (int argc, char *argv[])
fprintf (stderr, "%s", _("Error in parsing command line arguments\n"));
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"));
- }
+ 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"));
- }
+ 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));
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel