libcli:auth: Return NTSTATUS for netlogon_creds_arcfour_crypt()
[obnox/samba-autobuild/.git] / source4 / rpc_server / netlogon / dcerpc_netlogon.c
index b99964ebb8fba24eee638452a5a27a4184930667..ac745e32b021fa61dab8f71b165e90f7f80211b8 100644 (file)
@@ -749,7 +749,12 @@ static NTSTATUS dcesrv_netr_ServerPasswordSet2(struct dcesrv_call_state *dce_cal
        if (creds->negotiate_flags & NETLOGON_NEG_SUPPORTS_AES) {
                netlogon_creds_aes_decrypt(creds, password_buf.data, 516);
        } else {
-               netlogon_creds_arcfour_crypt(creds, password_buf.data, 516);
+               nt_status = netlogon_creds_arcfour_crypt(creds,
+                                                        password_buf.data,
+                                                        516);
+               if (!NT_STATUS_IS_OK(nt_status)) {
+                       return nt_status;
+               }
        }
 
        switch (creds->secure_channel_type) {
@@ -2800,7 +2805,12 @@ static NTSTATUS dcesrv_netr_NetrLogonSendToSam(struct dcesrv_call_state *dce_cal
        if (creds->negotiate_flags & NETLOGON_NEG_SUPPORTS_AES) {
                netlogon_creds_aes_decrypt(creds, r->in.opaque_buffer, r->in.buffer_len);
        } else {
-               netlogon_creds_arcfour_crypt(creds, r->in.opaque_buffer, r->in.buffer_len);
+               nt_status = netlogon_creds_arcfour_crypt(creds,
+                                                        r->in.opaque_buffer,
+                                                        r->in.buffer_len);
+               if (!NT_STATUS_IS_OK(nt_status)) {
+                       return nt_status;
+               }
        }
 
        decrypted_blob.data = r->in.opaque_buffer;