save an unneccessary alloc/free, based on patch from
authordjm <djm@openbsd.org>
Fri, 25 Feb 2022 02:09:27 +0000 (02:09 +0000)
committerdjm <djm@openbsd.org>
Fri, 25 Feb 2022 02:09:27 +0000 (02:09 +0000)
Martin Vahlensieck; ok dtucker@

usr.bin/ssh/monitor.c

index 3e4abfb..baaa621 100644 (file)
@@ -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>
@@ -643,7 +643,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;
@@ -653,14 +652,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);