libcli/smb: don't overwrite status code
authorRalph Boehme <slow@samba.org>
Wed, 7 Nov 2018 13:00:25 +0000 (14:00 +0100)
committerKarolin Seeger <kseeger@samba.org>
Tue, 4 Dec 2018 12:18:28 +0000 (13:18 +0100)
The original commit c5cd22b5bbce724dcd68fe94320382b3f772cabf from bug
9175 never worked, as the preceeding signing check overwrote the status
variable.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=9175

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Tue Nov 13 17:28:45 CET 2018 on sn-devel-144

(cherry picked from commit 5a8583ed701be97c33a20b2a20f6bbb8ac2f8e99)

libcli/smb/smbXcli_base.c
selftest/knownfail.d/samba3.smb2.session [deleted file]

index 512cbd8c6f4bac3ddad8eb3d1f11c9c0f869abbf..3f65216a6693265586205859aa915712115a4549 100644 (file)
@@ -3907,15 +3907,17 @@ static NTSTATUS smb2cli_conn_dispatch_incoming(struct smbXcli_conn *conn,
                }
 
                if (signing_key) {
-                       status = smb2_signing_check_pdu(*signing_key,
-                                                       state->conn->protocol,
-                                                       &cur[1], 3);
-                       if (!NT_STATUS_IS_OK(status)) {
+                       NTSTATUS signing_status;
+
+                       signing_status = smb2_signing_check_pdu(*signing_key,
+                                                               state->conn->protocol,
+                                                               &cur[1], 3);
+                       if (!NT_STATUS_IS_OK(signing_status)) {
                                /*
                                 * If the signing check fails, we disconnect
                                 * the connection.
                                 */
-                               return status;
+                               return signing_status;
                        }
                }
 
diff --git a/selftest/knownfail.d/samba3.smb2.session b/selftest/knownfail.d/samba3.smb2.session
deleted file mode 100644 (file)
index 1ef3605..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-^samba3.smb2.session krb5.expire_disconnect\(ad_dc\)
-^samba3.smb2.session krb5.expire_disconnect\(ad_member\)