[openssh-commits] [openssh] 15/15: upstream: memory leaks in unit tests

git+noreply at mindrot.org git+noreply at mindrot.org
Mon Sep 15 16:13:54 AEST 2025


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

djm pushed a commit to branch master
in repository openssh.

commit a4aa090a3d40dddb07d5ebebc501f6457541a501
Author: djm at openbsd.org <djm at openbsd.org>
AuthorDate: Mon Sep 15 03:00:22 2025 +0000

    upstream: memory leaks in unit tests
    
    OpenBSD-Regress-ID: af11ac7b8034b99ca324af4dae1ef5cd7700b273
---
 regress/unittests/misc/test_expand.c               | 29 ++++++++++++++--------
 .../unittests/sshbuf/test_sshbuf_getput_basic.c    |  6 ++++-
 regress/unittests/sshbuf/test_sshbuf_misc.c        |  4 ++-
 3 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/regress/unittests/misc/test_expand.c b/regress/unittests/misc/test_expand.c
index b72a1e9a8..a8be8d9f4 100644
--- a/regress/unittests/misc/test_expand.c
+++ b/regress/unittests/misc/test_expand.c
@@ -1,4 +1,4 @@
-/* 	$OpenBSD: test_expand.c,v 1.3 2021/12/14 21:25:27 deraadt Exp $ */
+/* 	$OpenBSD: test_expand.c,v 1.4 2025/09/15 03:00:22 djm Exp $ */
 /*
  * Regress test for misc string expansion functions.
  *
@@ -71,17 +71,26 @@ test_expand(void)
 	TEST_DONE();
 
 	TEST_START("percent_expand");
-	ASSERT_STRING_EQ(percent_expand("%%", "%h", "foo", NULL), "%");
-	ASSERT_STRING_EQ(percent_expand("%h", "h", "foo", NULL), "foo");
-	ASSERT_STRING_EQ(percent_expand("%h ", "h", "foo", NULL), "foo ");
-	ASSERT_STRING_EQ(percent_expand(" %h", "h", "foo", NULL), " foo");
-	ASSERT_STRING_EQ(percent_expand(" %h ", "h", "foo", NULL), " foo ");
-	ASSERT_STRING_EQ(percent_expand(" %a%b ", "a", "foo", "b", "bar", NULL),
-	    " foobar ");
+#define CHECK_ONE(val, expect) \
+	ASSERT_STRING_EQ(val, expect); \
+	free(val);
+	ret = percent_expand("%%", "%h", "foo", NULL);
+	CHECK_ONE(ret, "%");
+	ret = percent_expand("%h", "h", "foo", NULL);
+	CHECK_ONE(ret, "foo");
+	ret = percent_expand("%h ", "h", "foo", NULL);
+	CHECK_ONE(ret, "foo ");
+	ret = percent_expand(" %h", "h", "foo", NULL);
+	CHECK_ONE(ret, " foo");
+	ret = percent_expand(" %h ", "h", "foo", NULL);
+	CHECK_ONE(ret, " foo ");
+	ret = percent_expand(" %a%b ", "a", "foo", "b", "bar", NULL);
+	CHECK_ONE(ret, " foobar ");
 	TEST_DONE();
 
 	TEST_START("percent_dollar_expand");
-	ASSERT_STRING_EQ(percent_dollar_expand("%h${FOO}", "h", "foo", NULL),
-	    "foobar");
+	ret = percent_dollar_expand("%h${FOO}", "h", "foo", NULL);
+	CHECK_ONE(ret, "foobar");
+#undef CHECK_ONE
 	TEST_DONE();
 }
diff --git a/regress/unittests/sshbuf/test_sshbuf_getput_basic.c b/regress/unittests/sshbuf/test_sshbuf_getput_basic.c
index 058bf17d4..bfe61a877 100644
--- a/regress/unittests/sshbuf/test_sshbuf_getput_basic.c
+++ b/regress/unittests/sshbuf/test_sshbuf_getput_basic.c
@@ -1,4 +1,4 @@
-/* 	$OpenBSD: test_sshbuf_getput_basic.c,v 1.4 2025/06/13 07:35:14 dtucker Exp $ */
+/* 	$OpenBSD: test_sshbuf_getput_basic.c,v 1.5 2025/09/15 03:00:22 djm Exp $ */
 /*
  * Regress test for sshbuf.h buffer API
  *
@@ -609,6 +609,7 @@ sshbuf_getput_basic_tests(void)
 	ASSERT_PTR_NE(s2, NULL);
 	ASSERT_STRING_EQ(s2, "00000000000000000000");
 	sshbuf_free(p1);
+	free(s2);
 	TEST_DONE();
 
 	TEST_START("sshbuf_poke_u16");
@@ -643,6 +644,7 @@ sshbuf_getput_basic_tests(void)
 	ASSERT_PTR_NE(s2, NULL);
 	ASSERT_STRING_EQ(s2, "00000000000000000000");
 	sshbuf_free(p1);
+	free(s2);
 	TEST_DONE();
 
 	TEST_START("sshbuf_poke_u8");
@@ -673,6 +675,7 @@ sshbuf_getput_basic_tests(void)
 	ASSERT_PTR_NE(s2, NULL);
 	ASSERT_STRING_EQ(s2, "00000000000000000000");
 	sshbuf_free(p1);
+	free(s2);
 	TEST_DONE();
 
 	TEST_START("sshbuf_poke");
@@ -707,5 +710,6 @@ sshbuf_getput_basic_tests(void)
 	ASSERT_PTR_NE(s2, NULL);
 	ASSERT_STRING_EQ(s2, "00000000000000000000");
 	sshbuf_free(p1);
+	free(s2);
 	TEST_DONE();
 }
diff --git a/regress/unittests/sshbuf/test_sshbuf_misc.c b/regress/unittests/sshbuf/test_sshbuf_misc.c
index 58f55eee8..6b5b380d8 100644
--- a/regress/unittests/sshbuf/test_sshbuf_misc.c
+++ b/regress/unittests/sshbuf/test_sshbuf_misc.c
@@ -1,4 +1,4 @@
-/* 	$OpenBSD: test_sshbuf_misc.c,v 1.6 2025/09/04 00:37:10 djm Exp $ */
+/* 	$OpenBSD: test_sshbuf_misc.c,v 1.7 2025/09/15 03:00:22 djm Exp $ */
 /*
  * Regress test for sshbuf.h buffer API
  *
@@ -214,6 +214,7 @@ test_sshbuf_cmp(void)
 	ASSERT_INT_EQ(sshbuf_cmp(p1, 1000, "silence", 7),
 	    SSH_ERR_MESSAGE_INCOMPLETE);
 	ASSERT_INT_EQ(sshbuf_cmp(p1, 0, msg, sizeof(msg) - 1), 0);
+	sshbuf_free(p1);
 	TEST_DONE();
 }
 
@@ -252,6 +253,7 @@ test_sshbuf_find(void)
 	    SSH_ERR_MESSAGE_INCOMPLETE);
 	ASSERT_INT_EQ(sshbuf_find(p1, 0, msg + 1, sizeof(msg) - 2, &sz), 0);
 	ASSERT_SIZE_T_EQ(sz, 1);
+	sshbuf_free(p1);
 	TEST_DONE();
 }
 

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


More information about the openssh-commits mailing list