From 2db0744a7bf18bd85061d1f3b050368ed4fbe32f Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 2 May 2002 22:12:14 +0000 Subject: return CURLM_CALL_MULTI_PERFORM in one more case, and check return code from malloc() --- lib/multi.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'lib/multi.c') diff --git a/lib/multi.c b/lib/multi.c index a1111ccd5..47bf1c005 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; } -- cgit v1.2.3