]> granicus.if.org Git - curl/commitdiff
ANSI C compliant overflow check
authorYang Tse <yangsita@gmail.com>
Tue, 16 Oct 2007 23:32:02 +0000 (23:32 +0000)
committerYang Tse <yangsita@gmail.com>
Tue, 16 Oct 2007 23:32:02 +0000 (23:32 +0000)
lib/url.c

index 461bfe36bf845745c63fbfc1e4b32118bfa1cf75..e605fdcd0207a0008f905c8e5841746931fddaff 100644 (file)
--- a/lib/url.c
+++ b/lib/url.c
@@ -1047,10 +1047,8 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option,
        *  Check that request length does not overflow the size_t type.
        */
 
-      if ((curl_off_t) ((size_t) data->set.postfieldsize) !=
-          data->set.postfieldsize ||
-          data->set.postfieldsize < (curl_off_t) 0 ||
-          (size_t) data->set.postfieldsize < (size_t) 0)
+      if ((data->set.postfieldsize < 0) ||
+          (data->set.postfieldsize > (curl_off_t)((size_t)-1)))
         result = CURLE_OUT_OF_MEMORY;
       else {
         char * p;