From: Andreas Schneider Date: Thu, 23 Aug 2018 12:00:29 +0000 (+0200) Subject: s4:torture: Improve torture_libsmbclient_init_context() X-Git-Tag: tdb-1.3.17~1992 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=81f4971fc9a0cd597fcfaf5285170447a6482808;p=thirdparty%2Fsamba.git s4:torture: Improve torture_libsmbclient_init_context() Signed-off-by: Andreas Schneider Reviewed-by: Jeremy Allison --- diff --git a/source4/torture/libsmbclient/libsmbclient.c b/source4/torture/libsmbclient/libsmbclient.c index e84ce018a69..b8fab225d90 100644 --- a/source4/torture/libsmbclient/libsmbclient.c +++ b/source4/torture/libsmbclient/libsmbclient.c @@ -43,11 +43,23 @@ static void debug_callback(void *private_ptr, int level, const char *msg) bool torture_libsmbclient_init_context(struct torture_context *tctx, SMBCCTX **ctx_p) { - SMBCCTX *ctx; + SMBCCTX *ctx = NULL; + SMBCCTX *p = NULL; + bool ok = true; ctx = smbc_new_context(); - torture_assert(tctx, ctx, "failed to get new context"); - torture_assert(tctx, smbc_init_context(ctx), "failed to init context"); + torture_assert_not_null_goto(tctx, + ctx, + ok, + out, + "Failed to create new context"); + + p = smbc_init_context(ctx); + torture_assert_not_null_goto(tctx, + p, + ok, + out, + "Failed to initialize context"); smbc_setDebug(ctx, DEBUGLEVEL); smbc_setOptionDebugToStderr(ctx, 1); @@ -57,7 +69,12 @@ bool torture_libsmbclient_init_context(struct torture_context *tctx, *ctx_p = ctx; - return true; +out: + if (!ok) { + smbc_free_context(ctx, 1); + } + + return ok; } static bool torture_libsmbclient_version(struct torture_context *tctx)