]> granicus.if.org Git - curl/commitdiff
getdate: return -1 for out of range
authorDaniel Stenberg <daniel@haxx.se>
Thu, 1 Feb 2018 21:23:20 +0000 (22:23 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 2 Feb 2018 08:40:54 +0000 (09:40 +0100)
...as that's how the function is documented to work.

Reported-by: Michael Kaufmann
Bug found in an autobuild with 32 bit time_t

Closes #2278

lib/parsedate.c

index beaa1bbd598208d9b85239567a2d604e08ad93ff..23a787fc969c4dbd7930f5c0eca7964008a612f4 100644 (file)
@@ -561,14 +561,10 @@ time_t curl_getdate(const char *p, const time_t *now)
   int rc = parsedate(p, &parsed);
   (void)now; /* legacy argument from the past that we ignore */
 
-  switch(rc) {
-  case PARSEDATE_OK:
+  if(rc == PARSEDATE_OK) {
     if(parsed == -1)
       /* avoid returning -1 for a working scenario */
       parsed++;
-    /* fallthrough */
-  case PARSEDATE_LATER:
-  case PARSEDATE_SOONER:
     return parsed;
   }
   /* everything else is fail */