diff options
author | Andreas Schneider <asn@samba.org> | 2019-05-29 14:46:17 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2019-06-27 12:54:23 +0000 |
commit | 67e6a9af2c688ce89c87b0ed381274b3c12c37a9 (patch) | |
tree | 67d702d72da3d9588bf03dd6ee4836ca8893729d /auth | |
parent | 99d250a3abb1761e509359532e72caee2af6ee81 (diff) | |
download | samba-67e6a9af2c688ce89c87b0ed381274b3c12c37a9.tar.gz |
libcli:auth: Return NTSTATUS for netlogon_creds_arcfour_crypt()
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'auth')
-rw-r--r-- | auth/credentials/credentials.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/auth/credentials/credentials.c b/auth/credentials/credentials.c index befce2c2119..5ebec483705 100644 --- a/auth/credentials/credentials.c +++ b/auth/credentials/credentials.c @@ -1317,6 +1317,8 @@ _PUBLIC_ NTSTATUS netlogon_creds_session_encrypt( struct netlogon_creds_CredentialState *state, DATA_BLOB data) { + NTSTATUS status; + if (data.data == NULL || data.length == 0) { DBG_ERR("Nothing to encrypt " "data.data == NULL or data.length == 0"); @@ -1335,9 +1337,12 @@ _PUBLIC_ NTSTATUS netlogon_creds_session_encrypt( data.data, data.length); } else if (state->negotiate_flags & NETLOGON_NEG_ARCFOUR) { - netlogon_creds_arcfour_crypt(state, - data.data, - data.length); + status = netlogon_creds_arcfour_crypt(state, + data.data, + data.length); + if (!NT_STATUS_IS_OK(status)) { + return status; + } } else { DBG_ERR("Unsupported encryption option negotiated"); return NT_STATUS_NOT_SUPPORTED; |