Loading lib/easy.c +1 −1 Original line number Diff line number Diff line Loading @@ -544,7 +544,7 @@ CURLcode curl_easy_perform(CURL *curl) if(!data->state.connc) { /* oops, no connection cache, make one up */ data->state.connc = Curl_mk_connc(CONNCACHE_PRIVATE, -1); data->state.connc = Curl_mk_connc(CONNCACHE_PRIVATE, -1L); if(!data->state.connc) return CURLE_OUT_OF_MEMORY; } Loading lib/multi.c +1 −1 Original line number Diff line number Diff line Loading @@ -382,7 +382,7 @@ CURLM *curl_multi_init(void) return NULL; } multi->connc = Curl_mk_connc(CONNCACHE_MULTI, -1); multi->connc = Curl_mk_connc(CONNCACHE_MULTI, -1L); if(!multi->connc) { Curl_hash_destroy(multi->sockhash); Curl_hash_destroy(multi->hostcache); Loading lib/url.c +11 −7 Original line number Diff line number Diff line Loading @@ -531,22 +531,23 @@ struct conncache *Curl_mk_connc(int type, struct conncache *c; long default_amount; long max_amount = (long)(((size_t)INT_MAX) / sizeof(struct connectdata *)); if(type == CONNCACHE_PRIVATE) { default_amount = (amount < 0) ? 5 : amount; default_amount = (amount < 1L) ? 5L : amount; } else { default_amount = (amount < 0) ? 10 : amount; default_amount = (amount < 1L) ? 10L : amount; } c= calloc(sizeof(struct conncache), 1); if(default_amount > max_amount) default_amount = max_amount; c = calloc(1, sizeof(struct conncache)); if(!c) return NULL; if((size_t)(default_amount) > ((size_t)-1) / sizeof(struct connectdata *)) default_amount = ((size_t)-1) / sizeof(struct connectdata *); c->connects = calloc(sizeof(struct connectdata *), (size_t)default_amount); c->connects = calloc((size_t)default_amount, sizeof(struct connectdata *)); if(!c->connects) { free(c); return NULL; Loading @@ -564,6 +565,7 @@ CURLcode Curl_ch_connc(struct SessionHandle *data, { long i; struct connectdata **newptr; long max_amount = (long)(((size_t)INT_MAX) / sizeof(struct connectdata *)); if(newamount < 1) newamount = 1; /* we better have at least one entry */ Loading Loading @@ -596,6 +598,8 @@ CURLcode Curl_ch_connc(struct SessionHandle *data, data->state.lastconnect = -1; } if(newamount > 0) { if(newamount > max_amount) newamount = max_amount; newptr = realloc(c->connects, sizeof(struct connectdata *) * newamount); if(!newptr) /* we closed a few connections in vain, but so what? */ Loading tests/server/sockfilt.c +10 −0 Original line number Diff line number Diff line Loading @@ -453,7 +453,17 @@ static bool juggle(curl_socket_t *sockfdp, FD_ZERO(&fds_write); FD_ZERO(&fds_err); #ifdef USE_WINSOCK /* ** WinSock select() does not support standard file descriptors, ** it can only check SOCKETs. Since this program in its current ** state will not work on WinSock based systems, next line is ** commented out to allow warning-free compilation awaiting the ** day it will be fixed to also run on WinSock systems. */ #else FD_SET(fileno(stdin), &fds_read); #endif switch(*mode) { Loading Loading
lib/easy.c +1 −1 Original line number Diff line number Diff line Loading @@ -544,7 +544,7 @@ CURLcode curl_easy_perform(CURL *curl) if(!data->state.connc) { /* oops, no connection cache, make one up */ data->state.connc = Curl_mk_connc(CONNCACHE_PRIVATE, -1); data->state.connc = Curl_mk_connc(CONNCACHE_PRIVATE, -1L); if(!data->state.connc) return CURLE_OUT_OF_MEMORY; } Loading
lib/multi.c +1 −1 Original line number Diff line number Diff line Loading @@ -382,7 +382,7 @@ CURLM *curl_multi_init(void) return NULL; } multi->connc = Curl_mk_connc(CONNCACHE_MULTI, -1); multi->connc = Curl_mk_connc(CONNCACHE_MULTI, -1L); if(!multi->connc) { Curl_hash_destroy(multi->sockhash); Curl_hash_destroy(multi->hostcache); Loading
lib/url.c +11 −7 Original line number Diff line number Diff line Loading @@ -531,22 +531,23 @@ struct conncache *Curl_mk_connc(int type, struct conncache *c; long default_amount; long max_amount = (long)(((size_t)INT_MAX) / sizeof(struct connectdata *)); if(type == CONNCACHE_PRIVATE) { default_amount = (amount < 0) ? 5 : amount; default_amount = (amount < 1L) ? 5L : amount; } else { default_amount = (amount < 0) ? 10 : amount; default_amount = (amount < 1L) ? 10L : amount; } c= calloc(sizeof(struct conncache), 1); if(default_amount > max_amount) default_amount = max_amount; c = calloc(1, sizeof(struct conncache)); if(!c) return NULL; if((size_t)(default_amount) > ((size_t)-1) / sizeof(struct connectdata *)) default_amount = ((size_t)-1) / sizeof(struct connectdata *); c->connects = calloc(sizeof(struct connectdata *), (size_t)default_amount); c->connects = calloc((size_t)default_amount, sizeof(struct connectdata *)); if(!c->connects) { free(c); return NULL; Loading @@ -564,6 +565,7 @@ CURLcode Curl_ch_connc(struct SessionHandle *data, { long i; struct connectdata **newptr; long max_amount = (long)(((size_t)INT_MAX) / sizeof(struct connectdata *)); if(newamount < 1) newamount = 1; /* we better have at least one entry */ Loading Loading @@ -596,6 +598,8 @@ CURLcode Curl_ch_connc(struct SessionHandle *data, data->state.lastconnect = -1; } if(newamount > 0) { if(newamount > max_amount) newamount = max_amount; newptr = realloc(c->connects, sizeof(struct connectdata *) * newamount); if(!newptr) /* we closed a few connections in vain, but so what? */ Loading
tests/server/sockfilt.c +10 −0 Original line number Diff line number Diff line Loading @@ -453,7 +453,17 @@ static bool juggle(curl_socket_t *sockfdp, FD_ZERO(&fds_write); FD_ZERO(&fds_err); #ifdef USE_WINSOCK /* ** WinSock select() does not support standard file descriptors, ** it can only check SOCKETs. Since this program in its current ** state will not work on WinSock based systems, next line is ** commented out to allow warning-free compilation awaiting the ** day it will be fixed to also run on WinSock systems. */ #else FD_SET(fileno(stdin), &fds_read); #endif switch(*mode) { Loading