summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2019-08-02 01:41:24 +0000
committerDamien Miller <djm@mindrot.org>2019-08-02 11:42:26 +1000
commitc4ffb72593c08921cf9291bc05a5ef1d0aaa6891 (patch)
tree3f458943820f172b1b28efcd463ad5c456ede9f3
parent6e76e69dc0c7712e9ac599af34bd091b0e7dcdb5 (diff)
upstream: fix some memleaks in test_helper code
bz#3037 from Jitendra Sharma OpenBSD-Regress-ID: 71440fa9186f5842a65ce9a27159385c6cb6f751
-rw-r--r--regress/unittests/test_helper/test_helper.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/regress/unittests/test_helper/test_helper.c b/regress/unittests/test_helper/test_helper.c
index e7a47b26..127e76c2 100644
--- a/regress/unittests/test_helper/test_helper.c
+++ b/regress/unittests/test_helper/test_helper.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: test_helper.c,v 1.11 2018/11/23 02:53:57 dtucker Exp $ */
+/* $OpenBSD: test_helper.c,v 1.12 2019/08/02 01:41:24 djm Exp $ */
/*
* Copyright (c) 2011 Damien Miller <djm@mindrot.org>
*
@@ -391,6 +391,8 @@ assert_mem(const char *file, int line, const char *a1, const char *a2,
const void *aa1, const void *aa2, size_t l, enum test_predicate pred)
{
int r;
+ char *aa1_tohex = NULL;
+ char *aa2_tohex = NULL;
if (l == 0)
return;
@@ -401,8 +403,12 @@ assert_mem(const char *file, int line, const char *a1, const char *a2,
r = memcmp(aa1, aa2, l);
TEST_CHECK_INT(r, pred);
test_header(file, line, a1, a2, "STRING", pred);
- fprintf(stderr, "%12s = %s (len %zu)\n", a1, tohex(aa1, MIN(l, 256)), l);
- fprintf(stderr, "%12s = %s (len %zu)\n", a2, tohex(aa2, MIN(l, 256)), l);
+ aa1_tohex = tohex(aa1, MIN(l, 256));
+ aa2_tohex = tohex(aa2, MIN(l, 256));
+ fprintf(stderr, "%12s = %s (len %zu)\n", a1, aa1_tohex, l);
+ fprintf(stderr, "%12s = %s (len %zu)\n", a2, aa2_tohex, l);
+ free(aa1_tohex);
+ free(aa2_tohex);
test_die();
}
@@ -427,6 +433,7 @@ assert_mem_filled(const char *file, int line, const char *a1,
size_t where = -1;
int r;
char tmp[64];
+ char *aa1_tohex = NULL;
if (l == 0)
return;
@@ -436,8 +443,10 @@ assert_mem_filled(const char *file, int line, const char *a1,
r = memvalcmp(aa1, v, l, &where);
TEST_CHECK_INT(r, pred);
test_header(file, line, a1, NULL, "MEM_ZERO", pred);
+ aa1_tohex = tohex(aa1, MIN(l, 20));
fprintf(stderr, "%20s = %s%s (len %zu)\n", a1,
- tohex(aa1, MIN(l, 20)), l > 20 ? "..." : "", l);
+ aa1_tohex, l > 20 ? "..." : "", l);
+ free(aa1_tohex);
snprintf(tmp, sizeof(tmp), "(%s)[%zu]", a1, where);
fprintf(stderr, "%20s = 0x%02x (expected 0x%02x)\n", tmp,
((u_char *)aa1)[where], v);