Fix timestamp parsing for y2038 hack.
authorWerner Koch <wk@gnupg.org>
Mon, 30 Apr 2012 15:46:15 +0000 (17:46 +0200)
committerWerner Koch <wk@gnupg.org>
Mon, 30 Apr 2012 15:46:15 +0000 (17:46 +0200)
* src/conversion.c (_gpgme_parse_timestamp): Set ENDP before year 2038
check.

src/conversion.c

index d585b5abd3e09b3cf77baf1c224dcece54319a96..356200ceb5100d8a4c27ab1e0d4873d58131027d 100644 (file)
@@ -374,6 +374,9 @@ _gpgme_parse_timestamp (const char *timestamp, char **endp)
       if (year < 1900)
         return (time_t)(-1);
 
+      if (endp)
+        *endp = (char*)(timestamp + 15);
+
       /* Fixme: We would better use a configure test to see whether
          mktime can handle dates beyond 2038. */
       if (sizeof (time_t) <= 4 && year >= 2038)
@@ -387,8 +390,6 @@ _gpgme_parse_timestamp (const char *timestamp, char **endp)
       buf.tm_min = atoi_2 (timestamp+11);
       buf.tm_sec = atoi_2 (timestamp+13);
 
-      if (endp)
-        *endp = (char*)(timestamp + 15);
 #ifdef HAVE_W32_SYSTEM
       return _gpgme_timegm (&buf);
 #else