summaryrefslogtreecommitdiffstats
path: root/source3
diff options
context:
space:
mode:
authorBo Yang <boyang@novell.com>2009-03-04 18:10:20 +0800
committerKarolin Seeger <kseeger@samba.org>2009-04-15 09:07:27 +0200
commit6001c7e2ece6b0080a2cd0d90080aba84004ef81 (patch)
tree6b03415d5568394a14479153e6975e008878452b /source3
parent736adf9812fc68de0ae36b59272d999b8a059a44 (diff)
downloadsamba-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.c9
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;
}