s3:libsmb: return if tevent_req_set_endtime() fails
authorStefan Metzmacher <metze@samba.org>
Sat, 17 Sep 2011 17:49:01 +0000 (19:49 +0200)
committerStefan Metzmacher <metze@samba.org>
Sun, 18 Sep 2011 03:33:10 +0000 (05:33 +0200)
tevent_req_set_endtime() already calls tevent_req_nomem().

metze

source3/libsmb/async_smb.c

index 8966794ab647c2c4419aa84f7e346cc7dd325549..8336ec255aedc614ba632dbf283c565c5e62aa22 100644 (file)
@@ -420,7 +420,7 @@ struct tevent_req *cli_smb_req_create(TALLOC_CTX *mem_ctx,
        if (cli->timeout) {
                endtime = timeval_current_ofs_msec(cli->timeout);
                if (!tevent_req_set_endtime(result, ev, endtime)) {
-                       tevent_req_oom(result);
+                       return result;
                }
        }
 
@@ -563,7 +563,9 @@ struct tevent_req *cli_smb_send(TALLOC_CTX *mem_ctx,
        if (req == NULL) {
                return NULL;
        }
-
+       if (!tevent_req_is_in_progress(req)) {
+               return tevent_req_post(req, ev);
+       }
        status = cli_smb_req_send(req);
        if (!NT_STATUS_IS_OK(status)) {
                tevent_req_nterror(req, status);