From 435e096a628e1ef6ee91d0ebb1d8c312afd14e3c Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 3 Sep 2018 09:55:18 +0200 Subject: s4:torture/rpc/netlogon: assert that cli_credentials_get_{workstation,password} don't return NULL This is better that generating a segfault while dereferencing a NULL pointer later. BUG: https://bugzilla.samba.org/show_bug.cgi?id=11517 Signed-off-by: Stefan Metzmacher Reviewed-by: Andrew Bartlett (cherry picked from commit dffc182c6943d21513d8db9f6cf66bdc09206b17) --- source4/torture/rpc/netlogon.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/source4/torture/rpc/netlogon.c b/source4/torture/rpc/netlogon.c index b3dc06de588..e9f2757f53c 100644 --- a/source4/torture/rpc/netlogon.c +++ b/source4/torture/rpc/netlogon.c @@ -307,7 +307,9 @@ bool test_SetupCredentials3(struct dcerpc_pipe *p, struct torture_context *tctx, struct dcerpc_binding_handle *b = p->binding_handle; machine_name = cli_credentials_get_workstation(machine_credentials); + torture_assert(tctx, machine_name != NULL, "machine_name"); plain_pass = cli_credentials_get_password(machine_credentials); + torture_assert(tctx, plain_pass != NULL, "plain_pass"); torture_comment(tctx, "Testing ServerReqChallenge\n"); @@ -377,7 +379,9 @@ bool test_SetupCredentialsDowngrade(struct torture_context *tctx, uint32_t negotiate_flags = 0; machine_name = cli_credentials_get_workstation(machine_credentials); + torture_assert(tctx, machine_name != NULL, "machine_name"); plain_pass = cli_credentials_get_password(machine_credentials); + torture_assert(tctx, plain_pass != NULL, "plain_pass"); torture_comment(tctx, "Testing ServerReqChallenge\n"); @@ -1255,7 +1259,9 @@ static bool test_ServerReqChallengeGlobal(struct torture_context *tctx, struct dcerpc_binding_handle *b2 = NULL; machine_name = cli_credentials_get_workstation(machine_credentials); + torture_assert(tctx, machine_name != NULL, "machine_name"); plain_pass = cli_credentials_get_password(machine_credentials); + torture_assert(tctx, plain_pass != NULL, "plain_pass"); torture_comment(tctx, "Testing ServerReqChallenge on b1\n"); @@ -1334,7 +1340,9 @@ static bool test_ServerReqChallengeReuseGlobal(struct torture_context *tctx, struct dcerpc_binding_handle *b3 = NULL; machine_name = cli_credentials_get_workstation(machine_credentials); + torture_assert(tctx, machine_name != NULL, "machine_name"); plain_pass = cli_credentials_get_password(machine_credentials); + torture_assert(tctx, plain_pass != NULL, "plain_pass"); torture_comment(tctx, "Testing ServerReqChallenge on b1\n"); @@ -1429,7 +1437,9 @@ static bool test_ServerReqChallengeReuseGlobal2(struct torture_context *tctx, struct dcerpc_binding_handle *b2 = NULL; machine_name = cli_credentials_get_workstation(machine_credentials); + torture_assert(tctx, machine_name != NULL, "machine_name"); plain_pass = cli_credentials_get_password(machine_credentials); + torture_assert(tctx, plain_pass != NULL, "plain_pass"); torture_comment(tctx, "Testing ServerReqChallenge on b1\n"); @@ -1517,7 +1527,9 @@ static bool test_ServerReqChallengeReuseGlobal3(struct torture_context *tctx, struct dcerpc_binding_handle *b2 = NULL; machine_name = cli_credentials_get_workstation(machine_credentials); + torture_assert(tctx, machine_name != NULL, "machine_name"); plain_pass = cli_credentials_get_password(machine_credentials); + torture_assert(tctx, plain_pass != NULL, "plain_pass"); torture_comment(tctx, "Testing ServerReqChallenge on b1\n"); @@ -1607,7 +1619,9 @@ static bool test_ServerReqChallengeReuseGlobal4(struct torture_context *tctx, struct dcerpc_binding_handle *b2 = NULL; machine_name = cli_credentials_get_workstation(machine_credentials); + torture_assert(tctx, machine_name != NULL, "machine_name"); plain_pass = cli_credentials_get_password(machine_credentials); + torture_assert(tctx, plain_pass != NULL, "plain_pass"); torture_comment(tctx, "Testing ServerReqChallenge on b1\n"); @@ -1722,7 +1736,9 @@ static bool test_ServerReqChallengeReuse(struct torture_context *tctx, struct dcerpc_binding_handle *b = p->binding_handle; machine_name = cli_credentials_get_workstation(machine_credentials); + torture_assert(tctx, machine_name != NULL, "machine_name"); plain_pass = cli_credentials_get_password(machine_credentials); + torture_assert(tctx, plain_pass != NULL, "plain_pass"); torture_comment(tctx, "Testing ServerReqChallenge on b1\n"); -- cgit v1.2.1