curl_multi_wait: avoid an unnecessary memory allocation
This commit is contained in:
		 Daniel Stenberg
					Daniel Stenberg
				
			
				
					committed by
					
						 Yang Tse
						Yang Tse
					
				
			
			
				
	
			
			
			 Yang Tse
						Yang Tse
					
				
			
						parent
						
							dfe382c6ae
						
					
				
				
					commit
					a1fc9b80c8
				
			| @@ -900,7 +900,7 @@ CURLMcode curl_multi_wait(CURLM *multi_handle, | |||||||
|   int bitmap; |   int bitmap; | ||||||
|   unsigned int i; |   unsigned int i; | ||||||
|   unsigned int nfds = extra_nfds; |   unsigned int nfds = extra_nfds; | ||||||
|   struct pollfd *ufds; |   struct pollfd *ufds = NULL; | ||||||
|  |  | ||||||
|   if(!GOOD_MULTI_HANDLE(multi)) |   if(!GOOD_MULTI_HANDLE(multi)) | ||||||
|     return CURLM_BAD_HANDLE; |     return CURLM_BAD_HANDLE; | ||||||
| @@ -929,7 +929,8 @@ CURLMcode curl_multi_wait(CURLM *multi_handle, | |||||||
|     easy = easy->next; /* check next handle */ |     easy = easy->next; /* check next handle */ | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   ufds = (struct pollfd *)malloc(nfds * sizeof(struct pollfd)); |   if(nfds) | ||||||
|  |     ufds = (struct pollfd *)malloc(nfds * sizeof(struct pollfd)); | ||||||
|   nfds = 0; |   nfds = 0; | ||||||
|  |  | ||||||
|   /* Add the curl handles to our pollfds first */ |   /* Add the curl handles to our pollfds first */ | ||||||
| @@ -979,7 +980,7 @@ CURLMcode curl_multi_wait(CURLM *multi_handle, | |||||||
|   else |   else | ||||||
|     i = 0; |     i = 0; | ||||||
|  |  | ||||||
|   free(ufds); |   Curl_safefree(ufds); | ||||||
|   if(ret) |   if(ret) | ||||||
|     *ret = i; |     *ret = i; | ||||||
|   return CURLM_OK; |   return CURLM_OK; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user