summaryrefslogtreecommitdiff
path: root/source3/libsmb/async_smb.c
diff options
context:
space:
mode:
authorBo Yang <boyang@novell.com>2009-03-04 18:10:20 +0800
committerVolker Lendecke <vl@samba.org>2009-03-20 09:56:15 +0100
commit808928c24ba409a3fad50cbadf1db5a9dac9ad91 (patch)
treef25ddee0438134e0317bd3466969156eaf03d13a /source3/libsmb/async_smb.c
parent37f130fd89d02e77bf55cbd8da731d87bb4ab1e8 (diff)
downloadsamba-808928c24ba409a3fad50cbadf1db5a9dac9ad91.tar.gz
samba-808928c24ba409a3fad50cbadf1db5a9dac9ad91.tar.bz2
samba-808928c24ba409a3fad50cbadf1db5a9dac9ad91.zip
Fix crash in async_smb.c
Diffstat (limited to 'source3/libsmb/async_smb.c')
-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 e579d1c9f0..066ac7bdb8 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;
}