]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: save an unneccessary alloc/free, based on patch from
authordjm@openbsd.org <djm@openbsd.org>
Fri, 25 Feb 2022 02:09:27 +0000 (02:09 +0000)
committerDamien Miller <djm@mindrot.org>
Tue, 1 Mar 2022 02:00:26 +0000 (13:00 +1100)
Martin Vahlensieck; ok dtucker@

OpenBSD-Commit-ID: 90ffbf1f837e509742f2c31a1fbf2c0fd376fd5f

monitor.c

index c199cb9bc089166e4a5bd0a4c770a10aa79ffa8e..20b9f67b93490103a3e2b6240c8c69fdd2112eac 100644 (file)
--- a/monitor.c
+++ b/monitor.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: monitor.c,v 1.231 2022/01/28 06:18:42 guenther Exp $ */
+/* $OpenBSD: monitor.c,v 1.232 2022/02/25 02:09:27 djm Exp $ */
 /*
  * Copyright 2002 Niels Provos <provos@citi.umich.edu>
  * Copyright 2002 Markus Friedl <markus@openbsd.org>
@@ -709,7 +709,6 @@ mm_answer_sign(struct ssh *ssh, int sock, struct sshbuf *m)
 int
 mm_answer_pwnamallow(struct ssh *ssh, int sock, struct sshbuf *m)
 {
-       char *username;
        struct passwd *pwent;
        int r, allowed = 0;
        u_int i;
@@ -719,14 +718,12 @@ mm_answer_pwnamallow(struct ssh *ssh, int sock, struct sshbuf *m)
        if (authctxt->attempt++ != 0)
                fatal_f("multiple attempts for getpwnam");
 
-       if ((r = sshbuf_get_cstring(m, &username, NULL)) != 0)
+       if ((r = sshbuf_get_cstring(m, &authctxt->user, NULL)) != 0)
                fatal_fr(r, "parse");
 
-       pwent = getpwnamallow(ssh, username);
+       pwent = getpwnamallow(ssh, authctxt->user);
 
-       authctxt->user = xstrdup(username);
-       setproctitle("%s [priv]", pwent ? username : "unknown");
-       free(username);
+       setproctitle("%s [priv]", pwent ? authctxt->user : "unknown");
 
        sshbuf_reset(m);