summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/conn.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source3/smbd/conn.c b/source3/smbd/conn.c
index eaaddabc84..fffb5bf9de 100644
--- a/source3/smbd/conn.c
+++ b/source3/smbd/conn.c
@@ -321,7 +321,13 @@ void conn_free(connection_struct *conn)
DLIST_REMOVE(conn->sconn->smb1.tcons.Connections, conn);
- bitmap_clear(conn->sconn->smb1.tcons.bmap, conn->cnum);
+ if (conn->sconn->smb1.tcons.bmap != NULL) {
+ /*
+ * Can be NULL for fake connections created by
+ * create_conn_struct()
+ */
+ bitmap_clear(conn->sconn->smb1.tcons.bmap, conn->cnum);
+ }
SMB_ASSERT(conn->sconn->smb1.tcons.num_open > 0);
conn->sconn->smb1.tcons.num_open--;