]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
Bug 15852. There are valid paths where conn->lsa_pipe_tcp->transport is NULL. Protect...
authorRichard Sharpe <richard.sharpe@primarydata.com>
Tue, 20 Jun 2017 19:40:39 +0000 (12:40 -0700)
committerKarolin Seeger <kseeger@samba.org>
Mon, 26 Jun 2017 10:34:22 +0000 (12:34 +0200)
Based on a suggestion from Metze.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12852

Signed-off-by: Richard Sharpe <realrichardsharpe@gmail.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Jun 22 23:16:46 CEST 2017 on sn-devel-144

(cherry picked from commit 03042b85c8140842633b36f3124e504b97b852a1)

source3/winbindd/winbindd_cm.c

index d1dce731f4a6875e0febdc6db41d3568dc0ecff4..a656d88e22d8038fc4c41b048586b3b48ddf4f04 100644 (file)
@@ -2979,10 +2979,12 @@ static NTSTATUS cm_connect_lsa_tcp(struct winbindd_domain *domain,
 
        conn = &domain->conn;
 
-       if (conn->lsa_pipe_tcp &&
+       /*
+        * rpccli_is_connected handles more error cases
+        */
+       if (rpccli_is_connected(conn->lsa_pipe_tcp) &&
            conn->lsa_pipe_tcp->transport->transport == NCACN_IP_TCP &&
-           conn->lsa_pipe_tcp->auth->auth_level >= DCERPC_AUTH_LEVEL_INTEGRITY &&
-           rpccli_is_connected(conn->lsa_pipe_tcp)) {
+           conn->lsa_pipe_tcp->auth->auth_level >= DCERPC_AUTH_LEVEL_INTEGRITY) {
                goto done;
        }