diff options
author | Bo Yang <boyang@novell.com> | 2009-03-04 18:10:20 +0800 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2009-04-15 09:07:27 +0200 |
commit | 6001c7e2ece6b0080a2cd0d90080aba84004ef81 (patch) | |
tree | 6b03415d5568394a14479153e6975e008878452b /source3 | |
parent | 736adf9812fc68de0ae36b59272d999b8a059a44 (diff) | |
download | samba-6001c7e2ece6b0080a2cd0d90080aba84004ef81.tar.gz samba-6001c7e2ece6b0080a2cd0d90080aba84004ef81.tar.xz samba-6001c7e2ece6b0080a2cd0d90080aba84004ef81.zip |
Fix crash in async_smb.c
(cherry picked from commit b20cace3a7c312f44f39390954bc087b888d9b27)
Diffstat (limited to 'source3')
-rw-r--r-- | source3/libsmb/async_smb.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/source3/libsmb/async_smb.c b/source3/libsmb/async_smb.c index e579d1c9f0b..066ac7bdb88 100644 --- a/source3/libsmb/async_smb.c +++ b/source3/libsmb/async_smb.c @@ -861,7 +861,7 @@ static NTSTATUS validate_smb_crypto(struct cli_state *cli, char *pdu) static void handle_incoming_pdu(struct cli_state *cli) { - struct cli_request *req; + struct cli_request *req, *next; uint16_t mid; size_t raw_pdu_len, buf_len, pdu_len, rest_len; char *pdu; @@ -978,8 +978,11 @@ static void handle_incoming_pdu(struct cli_state *cli) DEBUG(10, ("handle_incoming_pdu: Aborting with %s\n", nt_errstr(status))); - for (req = cli->outstanding_requests; req; req = req->next) { - async_req_nterror(req->async[0], status); + for (req = cli->outstanding_requests; req; req = next) { + next = req->next; + if (req->num_async) { + async_req_nterror(req->async[0], status); + } } return; } |