]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream commit
authordjm@openbsd.org <djm@openbsd.org>
Mon, 15 Feb 2016 23:32:37 +0000 (23:32 +0000)
committerDamien Miller <djm@mindrot.org>
Mon, 15 Feb 2016 23:44:01 +0000 (10:44 +1100)
memleak of algorithm name in mm_answer_sign; reported by
 Jakub Jelen

Upstream-ID: ccd742cd25952240ebd23d7d4d6b605862584d08

monitor.c

index b7fe74b1329eac35f66734ef7a92bbd58dbf7877..ac7dd309974c9fdd88ffb082e3db2893d064cac7 100644 (file)
--- a/monitor.c
+++ b/monitor.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: monitor.c,v 1.156 2016/01/14 16:17:39 markus Exp $ */
+/* $OpenBSD: monitor.c,v 1.157 2016/02/15 23:32:37 djm Exp $ */
 /*
  * Copyright 2002 Niels Provos <provos@citi.umich.edu>
  * Copyright 2002 Markus Friedl <markus@openbsd.org>
@@ -684,10 +684,9 @@ mm_answer_sign(int sock, Buffer *m)
        struct ssh *ssh = active_state;         /* XXX */
        extern int auth_sock;                   /* XXX move to state struct? */
        struct sshkey *key;
-       struct sshbuf *sigbuf;
-       u_char *p;
-       u_char *signature;
-       char *alg;
+       struct sshbuf *sigbuf = NULL;
+       u_char *p = NULL, *signature = NULL;
+       char *alg = NULL;
        size_t datlen, siglen, alglen;
        int r, keyid, is_proof = 0;
        const char proof_req[] = "hostkeys-prove-00@openssh.com";
@@ -764,6 +763,7 @@ mm_answer_sign(int sock, Buffer *m)
        if ((r = sshbuf_put_string(m, signature, siglen)) != 0)
                fatal("%s: buffer error: %s", __func__, ssh_err(r));
 
+       free(alg);
        free(p);
        free(signature);