diff options
Diffstat (limited to 'source4/smb_server/smb')
-rw-r--r-- | source4/smb_server/smb/request.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source4/smb_server/smb/request.c b/source4/smb_server/smb/request.c index fc7d060ea8..00bed16fc4 100644 --- a/source4/smb_server/smb/request.c +++ b/source4/smb_server/smb/request.c @@ -289,6 +289,7 @@ void smbsrv_send_reply_nosign(struct smbsrv_request *req) if (req->smb_conn->connection->event.fde == NULL) { /* we are in the process of shutting down this connection */ + talloc_free(req); return; } @@ -312,6 +313,11 @@ void smbsrv_send_reply_nosign(struct smbsrv_request *req) */ void smbsrv_send_reply(struct smbsrv_request *req) { + if (req->smb_conn->connection->event.fde == NULL) { + /* we are in the process of shutting down this connection */ + talloc_free(req); + return; + } smbsrv_sign_packet(req); smbsrv_send_reply_nosign(req); |