r2275: don't crash on a rpc BIND_NAK response ...
authorAndrew Tridgell <tridge@samba.org>
Fri, 10 Sep 2004 07:14:02 +0000 (07:14 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:58:37 +0000 (12:58 -0500)
(This used to be commit 22a6e5d50d2d40c2dfc5e36bce1132b92723dd81)

source4/librpc/rpc/dcerpc.c

index 715a680fde8676f17908f513852fb8d5bef1ccab..0595d5eade77417ea5c177885f0a1c0ac8909e1b 100644 (file)
@@ -465,10 +465,15 @@ NTSTATUS dcerpc_bind(struct dcerpc_pipe *p,
                return status;
        }
 
+       if (pkt.ptype == DCERPC_PKT_BIND_NAK) {
+               DEBUG(2,("dcerpc: bind_nak reason %d\n", pkt.u.bind_nak.reject_reason));
+               return NT_STATUS_ACCESS_DENIED;
+       }
+
        if ((pkt.ptype != DCERPC_PKT_BIND_ACK) ||
            pkt.u.bind_ack.num_results == 0 ||
            pkt.u.bind_ack.ctx_list[0].result != 0) {
-               status = NT_STATUS_UNSUCCESSFUL;
+               return NT_STATUS_UNSUCCESSFUL;
        }
 
        if (pkt.ptype == DCERPC_PKT_BIND_ACK) {