diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/libsmb/async_smb.c | 4 | ||||
-rw-r--r-- | source3/rpc_client/rpc_transport_np.c | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/source3/libsmb/async_smb.c b/source3/libsmb/async_smb.c index 6faf96c207..17040b8c9f 100644 --- a/source3/libsmb/async_smb.c +++ b/source3/libsmb/async_smb.c @@ -604,6 +604,10 @@ bool cli_smb_req_send(struct tevent_req *req) struct cli_smb_state *state = tevent_req_data( req, struct cli_smb_state); + if (state->cli->fd == -1) { + return false; + } + return cli_smb_req_iov_send(req, state, state->iov, state->iov_count); } diff --git a/source3/rpc_client/rpc_transport_np.c b/source3/rpc_client/rpc_transport_np.c index 40d68dd2ea..dceacf6815 100644 --- a/source3/rpc_client/rpc_transport_np.c +++ b/source3/rpc_client/rpc_transport_np.c @@ -31,6 +31,12 @@ struct rpc_transport_np_state { static int rpc_transport_np_state_destructor(struct rpc_transport_np_state *s) { bool ret; + + if (s->cli->fd == -1) { + DEBUG(10, ("socket was closed, no need to send close request.\n")); + return 0; + } + ret = cli_close(s->cli, s->fnum); if (!ret) { DEBUG(1, ("rpc_transport_np_state_destructor: cli_close " |