[openssh-commits] [openssh] 01/03: upstream: fix memory leak; Coverity CID 291848

git+noreply at mindrot.org git+noreply at mindrot.org
Wed Mar 29 12:34:03 AEDT 2023


This is an automated email from the git hooks/post-receive script.

dtucker pushed a commit to branch master
in repository openssh.

commit 13ae327eae598b1043e5ec30e4b170edb3c898a5
Author: djm at openbsd.org <djm at openbsd.org>
Date:   Wed Mar 29 00:18:35 2023 +0000

    upstream: fix memory leak; Coverity CID 291848
    
    with/ok dtucker@
    
    OpenBSD-Commit-ID: 37f80cb5d075ead5a00ad1b74175684ab1156ff8
---
 auth-options.c | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/auth-options.c b/auth-options.c
index 7cb2a640..88e9eb1c 100644
--- a/auth-options.c
+++ b/auth-options.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth-options.c,v 1.98 2022/02/08 08:59:12 dtucker Exp $ */
+/* $OpenBSD: auth-options.c,v 1.99 2023/03/29 00:18:35 djm Exp $ */
 /*
  * Copyright (c) 2018 Damien Miller <djm at mindrot.org>
  *
@@ -703,7 +703,7 @@ serialise_array(struct sshbuf *m, char **a, size_t n)
 {
 	struct sshbuf *b;
 	size_t i;
-	int r;
+	int r = SSH_ERR_INTERNAL_ERROR;
 
 	if (n > INT_MAX)
 		return SSH_ERR_INTERNAL_ERROR;
@@ -712,18 +712,17 @@ serialise_array(struct sshbuf *m, char **a, size_t n)
 		return SSH_ERR_ALLOC_FAIL;
 	}
 	for (i = 0; i < n; i++) {
-		if ((r = sshbuf_put_cstring(b, a[i])) != 0) {
-			sshbuf_free(b);
-			return r;
-		}
+		if ((r = sshbuf_put_cstring(b, a[i])) != 0)
+			goto out;
 	}
 	if ((r = sshbuf_put_u32(m, n)) != 0 ||
-	    (r = sshbuf_put_stringb(m, b)) != 0) {
-		sshbuf_free(b);
-		return r;
-	}
+	    (r = sshbuf_put_stringb(m, b)) != 0)
+		goto out;
 	/* success */
-	return 0;
+	r = 0;
+ out:
+	sshbuf_free(b);
+	return r;
 }
 
 static int

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list