Checking for -1 as an overflow value is pretty absurd. Returning
authorray <ray@openbsd.org>
Sat, 31 Jul 2010 08:54:42 +0000 (08:54 +0000)
committerray <ray@openbsd.org>
Sat, 31 Jul 2010 08:54:42 +0000 (08:54 +0000)
the unix epoch is equally absurd. Just return Start for now. We may
add overflow checks in the future.

OK xsa nicm

usr.bin/cvs/date.y
usr.bin/rcs/date.y

index 3421ebd..eed407e 100644 (file)
@@ -1,5 +1,5 @@
 %{
-/*     $OpenBSD: date.y,v 1.21 2010/07/29 18:52:45 ray Exp $   */
+/*     $OpenBSD: date.y,v 1.22 2010/07/31 08:54:42 ray Exp $   */
 
 /*
 **  Originally written by Steven M. Bellovin <smb@research.att.com> while
@@ -862,10 +862,7 @@ date_parse(const char *p)
                Start += tod;
        }
 
-       /* Have to do *something* with a legitimate -1 so it's distinguishable
-        * from the error return value.  (Alternately could set errno on error.)
-        */
-       return (Start == -1) ? (0) : (Start);
+       return Start;
 }
 
 #if defined(TEST)
index 6eca12e..4298460 100644 (file)
@@ -1,5 +1,5 @@
 %{
-/*     $OpenBSD: date.y,v 1.9 2010/07/29 18:52:45 ray Exp $    */
+/*     $OpenBSD: date.y,v 1.10 2010/07/31 08:54:42 ray Exp $   */
 
 /*
 **  Originally written by Steven M. Bellovin <smb@research.att.com> while
@@ -867,10 +867,7 @@ date_parse(const char *p)
                Start += tod;
        }
 
-       /* Have to do *something* with a legitimate -1 so it's distinguishable
-        * from the error return value.  (Alternately could set errno on error.)
-        */
-       return (Start == -1) ? (0) : (Start);
+       return Start;
 }
 
 #if defined(TEST)