The branch, v3-4-test has been updated
       via  b20cace3a7c312f44f39390954bc087b888d9b27 (commit)
      from  a75c184cafbb80adb0a3b056e55608d2d263a0c6 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-4-test


- Log -----------------------------------------------------------------
commit b20cace3a7c312f44f39390954bc087b888d9b27
Author: Bo Yang <boy...@novell.com>
Date:   Wed Mar 4 18:10:20 2009 +0800

    Fix crash in async_smb.c

-----------------------------------------------------------------------

Summary of changes:
 source3/libsmb/async_smb.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/libsmb/async_smb.c b/source3/libsmb/async_smb.c
index e579d1c..066ac7b 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;
 }


-- 
Samba Shared Repository

Reply via email to