mirror of
https://github.com/moparisthebest/curl
synced 2024-11-10 11:35:07 -05:00
lib: fix conversion warnings for SOCKET_WRITABLE/READABLE
- If loss of data may occur converting a timediff_t to time_t and
the time value is > TIME_T_MAX then treat it as TIME_T_MAX.
This is a follow-up to 8843678
which removed the (time_t) typecast
from the macros so that conversion warnings could be identified.
Closes https://github.com/curl/curl/pull/5199
This commit is contained in:
parent
17c18fbc30
commit
53f4070827
@ -68,7 +68,9 @@ int Curl_blockread_all(struct connectdata *conn, /* connection data */
|
||||
result = CURLE_OPERATION_TIMEDOUT;
|
||||
break;
|
||||
}
|
||||
if(SOCKET_READABLE(sockfd, timeleft) <= 0) {
|
||||
if(timeleft > TIME_T_MAX)
|
||||
timeleft = TIME_T_MAX;
|
||||
if(SOCKET_READABLE(sockfd, (time_t)timeleft) <= 0) {
|
||||
result = ~CURLE_OK;
|
||||
break;
|
||||
}
|
||||
|
@ -1645,8 +1645,9 @@ schannel_send(struct connectdata *conn, int sockindex,
|
||||
written = -1;
|
||||
break;
|
||||
}
|
||||
|
||||
what = SOCKET_WRITABLE(conn->sock[sockindex], timeleft);
|
||||
if(timeleft > TIME_T_MAX)
|
||||
timeleft = TIME_T_MAX;
|
||||
what = SOCKET_WRITABLE(conn->sock[sockindex], (time_t)timeleft);
|
||||
if(what < 0) {
|
||||
/* fatal error */
|
||||
failf(conn->data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
|
||||
|
Loading…
Reference in New Issue
Block a user