From 6a620adb25ada71470ab890a3734c0007de55921 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 22 Jun 2016 08:16:11 +0200 Subject: [PATCH] nsswitch: Fix memory leak in test_wbc_domain_info() Found by cppcheck. Signed-off-by: Andreas Schneider Reviewed-by: Uri Simchoni --- nsswitch/libwbclient/tests/wbclient.c | 32 ++++++++++++++++++--------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/nsswitch/libwbclient/tests/wbclient.c b/nsswitch/libwbclient/tests/wbclient.c index 380a3dd02c2..41a581e488b 100644 --- a/nsswitch/libwbclient/tests/wbclient.c +++ b/nsswitch/libwbclient/tests/wbclient.c @@ -255,21 +255,31 @@ static bool test_wbc_guidtostring(struct torture_context *tctx) static bool test_wbc_domain_info(struct torture_context *tctx) { - struct wbcDomainInfo *info; - struct wbcInterfaceDetails *details; + struct wbcDomainInfo *info = NULL; + struct wbcInterfaceDetails *details = NULL; + wbcErr ret = false; - torture_assert_wbc_ok(tctx, wbcInterfaceDetails(&details), - "%s", "wbcInterfaceDetails failed"); - torture_assert_wbc_ok( - tctx, wbcDomainInfo(details->netbios_domain, &info), - "%s", "wbcDomainInfo failed"); - wbcFreeMemory(details); + torture_assert_wbc_ok_goto_fail(tctx, + wbcInterfaceDetails(&details), + "%s", + "wbcInterfaceDetails failed"); + torture_assert_wbc_ok_goto_fail(tctx, + wbcDomainInfo(details->netbios_domain, &info), + "%s", + "wbcDomainInfo failed"); + + torture_assert_goto(tctx, + info, + ret, + fail, + "wbcDomainInfo returned NULL pointer"); - torture_assert(tctx, info, - "wbcDomainInfo returned NULL pointer"); + ret = true; +fail: + wbcFreeMemory(details); wbcFreeMemory(info); - return true; + return ret; } static bool test_wbc_users(struct torture_context *tctx) -- 2.47.2