diff --git a/lib/http.c b/lib/http.c
index 812bbc787236a662b124ec7050b6e0a13cd8b935..ccbbf49622b417e2bed26a14a74e6eaab24b86e9 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -456,7 +456,7 @@ static size_t readmoredata(char *buffer,
   /* make sure that a HTTP request is never sent away chunked! */
   conn->bits.forbidchunk= (http->sending == HTTPSEND_REQUEST)?TRUE:FALSE;
 
-  if(http->postsize <= fullsize) {
+  if(http->postsize <= (curl_off_t)fullsize) {
     memcpy(buffer, http->postdata, (size_t)http->postsize);
     fullsize = (size_t)http->postsize;
 
@@ -1586,7 +1586,7 @@ CURLcode Curl_http(struct connectdata *conn)
       /* store the size of the postfields */
       postsize = data->set.postfieldsize?
         data->set.postfieldsize:
-        (data->set.postfields?strlen(data->set.postfields):0);
+        (data->set.postfields?(curl_off_t)strlen(data->set.postfields):0);
       
       if(!conn->bits.upload_chunky) {
         /* We only set Content-Length and allow a custom Content-Length if