aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/multi.c10
-rw-r--r--tests/server/sockfilt.c4
2 files changed, 8 insertions, 6 deletions
diff --git a/lib/multi.c b/lib/multi.c
index 42294eeb6..b2e513043 100644
--- a/lib/multi.c
+++ b/lib/multi.c
@@ -511,7 +511,7 @@ CURLMcode curl_multi_add_handle(CURLM *multi_handle,
/* We want the connection cache to have plenty room. Before we supported
the shared cache every single easy handle had 5 entries in their cache
by default. */
- int newmax = multi->num_easy * 4;
+ long newmax = multi->num_easy * 4;
if(multi->maxconnects && (multi->maxconnects < newmax))
/* don't grow beyond the allowed size */
@@ -520,9 +520,11 @@ CURLMcode curl_multi_add_handle(CURLM *multi_handle,
if(newmax > multi->connc->num) {
/* we only do this is we can in fact grow the cache */
CURLcode res = Curl_ch_connc(easy_handle, multi->connc, newmax);
- if(res != CURLE_OK)
- /* TODO: we need to do some cleaning up here! */
- return CURLM_OUT_OF_MEMORY;
+ if(res != CURLE_OK) {
+ /* FIXME: may need to do more cleanup here */
+ curl_multi_remove_handle(multi_handle, easy_handle);
+ return res;
+ }
}
}
diff --git a/tests/server/sockfilt.c b/tests/server/sockfilt.c
index bd54f8812..b4e1c07f0 100644
--- a/tests/server/sockfilt.c
+++ b/tests/server/sockfilt.c
@@ -320,8 +320,8 @@ static int juggle(curl_socket_t *sockfdp,
nread_stdin = 0;
do {
/* get data in the buffer at the correct position */
- ssize_t rc = read(fileno(stdin), &buffer[nread_stdin],
- buffer_len - nread_stdin);
+ rc = read(fileno(stdin), &buffer[nread_stdin],
+ buffer_len - nread_stdin);
logmsg("read %d bytes", rc);
if(rc <= 0)
return FALSE;