From e31b0ac0290e9f652d7cdbfe6ce55c44d577eebc Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka@redhat.com>
Date: Sat, 29 May 2010 12:26:17 +0200
Subject: [PATCH] CURL_LLONG_MAX: avoid constant overflow

... when (CURL_SIZEOF_CURL_OFF_T == 4)
---
 lib/strtoofft.h        |    7 ++++++-
 tests/libtest/lib576.c |    2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/strtoofft.h b/lib/strtoofft.h
index bf27a17..c791bc9 100644
--- a/lib/strtoofft.h
+++ b/lib/strtoofft.h
@@ -57,7 +57,12 @@
 #  define curlx_strtoofft strtol
 #endif
 
-#define CURL_LLONG_MAX CURL_OFF_T_C(0x7FFFFFFFFFFFFFFF)
+#if (CURL_SIZEOF_CURL_OFF_T == 4)
+#  define CURL_LLONG_MAX CURL_OFF_T_C(0x7FFFFFFF)
+#else
+   /* assume CURL_SIZEOF_CURL_OFF_T == 8 */
+#  define CURL_LLONG_MAX CURL_OFF_T_C(0x7FFFFFFFFFFFFFFF)
+#endif
 #define CURL_LLONG_MIN (-CURL_LLONG_MAX - CURL_OFF_T_C(1))
 
 #endif /* HEADER_CURL_STRTOOFFT_H */
diff --git a/tests/libtest/lib576.c b/tests/libtest/lib576.c
index 7f2c7ae..10857f6 100644
--- a/tests/libtest/lib576.c
+++ b/tests/libtest/lib576.c
@@ -33,7 +33,7 @@ long chunk_bgn(const struct curl_fileinfo *finfo, void *ptr, int remains)
       printf(" (parsed => %o)", finfo->perm);
     printf("\n");
   }
-  printf("Size:         %lldB\n", (long long int)finfo->size);
+  printf("Size:         %ldB\n", (long)finfo->size);
   if(finfo->strings.user)
     printf("User:         %s\n", finfo->strings.user);
   if(finfo->strings.group)
-- 
1.6.6.1


