aboutsummaryrefslogtreecommitdiff
path: root/lib/transfer.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/transfer.c')
-rw-r--r--lib/transfer.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/transfer.c b/lib/transfer.c
index 25645c97d..e136020b0 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -319,7 +319,7 @@ CURLcode Curl_readwrite(struct connectdata *conn,
int readrc;
if (k->size != -1 && !k->header)
- bytestoread = k->size - k->bytecount;
+ bytestoread = (size_t)(k->size - k->bytecount);
/* receive data from the network! */
readrc = Curl_read(conn, conn->sockfd, k->buf, bytestoread, &nread);
@@ -1133,7 +1133,8 @@ CURLcode Curl_readwrite(struct connectdata *conn,
if((-1 != k->maxdownload) &&
(k->bytecount + nread >= k->maxdownload)) {
- size_t excess = k->bytecount + nread - k->maxdownload;
+ size_t excess = (size_t)(k->bytecount +
+ (curl_off_t)nread - k->maxdownload);
if (excess > 0) {
infof(data, "Rewinding stream by : %d bytes\n", excess);