From fe6895fb6a5f8c61f0c47aa95e1c86bb88b7cf4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 21 Aug 2018 19:44:48 +0200 Subject: [PATCH] test-socket-util: avoid "memleak" reported by valgrind valgrind reports the allocation done in the short-lived child as a leak. Let's restructure the code to avoid this. (cherry picked from commit 181c4ba750770b54a54b5abbe8ae8ff4f6db59b5) Resolves: #1683319 --- src/test/test-socket-util.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/test/test-socket-util.c b/src/test/test-socket-util.c index ac2ea52a5c..588485d881 100644 --- a/src/test/test-socket-util.c +++ b/src/test/test-socket-util.c @@ -431,7 +431,6 @@ static void test_getpeercred_getpeergroups(void) { if (r == 0) { static const gid_t gids[] = { 3, 4, 5, 6, 7 }; gid_t *test_gids; - _cleanup_free_ gid_t *peer_groups = NULL; size_t n_test_gids; uid_t test_uid; gid_t test_gid; @@ -472,12 +471,16 @@ static void test_getpeercred_getpeergroups(void) { assert_se(ucred.gid == test_gid); assert_se(ucred.pid == getpid_cached()); - r = getpeergroups(pair[0], &peer_groups); - assert_se(r >= 0 || IN_SET(r, -EOPNOTSUPP, -ENOPROTOOPT)); + { + _cleanup_free_ gid_t *peer_groups = NULL; - if (r >= 0) { - assert_se((size_t) r == n_test_gids); - assert_se(memcmp(peer_groups, test_gids, sizeof(gid_t) * n_test_gids) == 0); + r = getpeergroups(pair[0], &peer_groups); + assert_se(r >= 0 || IN_SET(r, -EOPNOTSUPP, -ENOPROTOOPT)); + + if (r >= 0) { + assert_se((size_t) r == n_test_gids); + assert_se(memcmp(peer_groups, test_gids, sizeof(gid_t) * n_test_gids) == 0); + } } safe_close_pair(pair);