From: Daniel Stenberg Date: Thu, 2 May 2002 22:12:14 +0000 (+0000) Subject: return CURLM_CALL_MULTI_PERFORM in one more case, and check return code X-Git-Tag: curl-7_9_7-pre2~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2db0744a7bf18bd85061d1f3b050368ed4fbe32f;p=thirdparty%2Fcurl.git return CURLM_CALL_MULTI_PERFORM in one more case, and check return code from malloc() --- diff --git a/lib/multi.c b/lib/multi.c index a1111ccd50..47bf1c005e 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -323,6 +323,10 @@ CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles) { struct Curl_message *msg = (struct Curl_message *) malloc(sizeof(struct Curl_message)); + + if(!msg) + return CURLM_OUT_OF_MEMORY; + msg->extmsg.msg = CURLMSG_DONE; msg->extmsg.easy_handle = easy->easy_handle; msg->extmsg.data.result = easy->result; @@ -339,7 +343,9 @@ CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles) multi->num_msgs++; /* increase message counter */ } + result = CURLM_CALL_MULTI_PERFORM; break; + case CURLM_STATE_COMPLETED: /* this is a completed transfer, it is likely to still be connected */ @@ -364,6 +370,7 @@ CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles) easy = easy->next; /* operate on next handle */ } + return result; }