From e8d54db727fd7c38c47157a94790018c0e1a131e Mon Sep 17 00:00:00 2001 From: Aric Stewart Date: Wed, 30 Sep 2015 11:04:59 -0500 Subject: [PATCH] secur32/tests: Handle skip cleanup in negotiate more cleanly. Signed-off-by: Aric Stewart --- dlls/secur32/tests/negotiate.c | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/dlls/secur32/tests/negotiate.c b/dlls/secur32/tests/negotiate.c index 91c3fa1e988..4f07dbe1677 100644 --- a/dlls/secur32/tests/negotiate.c +++ b/dlls/secur32/tests/negotiate.c @@ -262,6 +262,9 @@ static void test_authentication(void) SecPkgInfoA *pi; BOOL first = TRUE; + memset(&client, 0, sizeof(client)); + memset(&server, 0, sizeof(server)); + id.User = (unsigned char *)"user"; id.UserLength = strlen( "user" ); id.Domain = (unsigned char *)"domain"; @@ -342,17 +345,29 @@ done: cleanup_buffers( &client ); cleanup_buffers( &server ); - status_c = pDeleteSecurityContext( &client.ctxt ); - ok( status_c == SEC_E_OK, "DeleteSecurityContext returned %08x\n", status_c ); + if (client.ctxt.dwLower || client.ctxt.dwUpper) + { + status_c = pDeleteSecurityContext( &client.ctxt ); + ok( status_c == SEC_E_OK, "DeleteSecurityContext returned %08x\n", status_c ); + } - status_s = pDeleteSecurityContext( &server.ctxt ); - ok( status_s == SEC_E_OK, "DeleteSecurityContext returned %08x\n", status_s ); + if (server.ctxt.dwLower || server.ctxt.dwUpper) + { + status_s = pDeleteSecurityContext( &server.ctxt ); + ok( status_s == SEC_E_OK, "DeleteSecurityContext returned %08x\n", status_s ); + } - status_c = pFreeCredentialsHandle( &client.cred ); - ok( status_c == SEC_E_OK, "FreeCredentialsHandle returned %08x\n", status_c ); + if (client.cred.dwLower || client.cred.dwUpper) + { + status_c = pFreeCredentialsHandle( &client.cred ); + ok( status_c == SEC_E_OK, "FreeCredentialsHandle returned %08x\n", status_c ); + } - status_s = pFreeCredentialsHandle(&server.cred); - ok( status_s == SEC_E_OK, "FreeCredentialsHandle returned %08x\n", status_s ); + if (server.cred.dwLower || server.cred.dwUpper) + { + status_s = pFreeCredentialsHandle(&server.cred); + ok( status_s == SEC_E_OK, "FreeCredentialsHandle returned %08x\n", status_s ); + } } START_TEST(negotiate)