Fix month/year units in getdate
authorTom Yu <tlyu@mit.edu>
Tue, 8 Nov 2011 22:16:47 +0000 (22:16 +0000)
committerTom Yu <tlyu@mit.edu>
Tue, 8 Nov 2011 22:16:47 +0000 (22:16 +0000)
pull up r25444 from trunk

 ------------------------------------------------------------------------
 r25444 | ghudson | 2011-11-06 00:32:34 -0500 (Sun, 06 Nov 2011) | 10 lines

 ticket: 7003
 subject: Fix month/year units in getdate
 target_version: 1.10
 tags: pullup

 getdate strings like "1 month" or "next year" would fail some of the
 time, depending on the value of stack garbage, because DSTcorrect()
 doesn't set *error on success and RelativeMonth() doesn't initialize
 error.  Make DSTcorrect() responsible for setting *error in all cases.

ticket: 7009
version_fixed: 1.9.3
status: resolved

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-9@25461 dc483132-0cff-0310-8789-dd5450dbe970

src/kadmin/cli/getdate.y

index 613bc609c25690871a3cf306853fd62bf81db37b..fc0a403e20596b96c0983c1ee6bb61a331591143 100644 (file)
@@ -631,6 +631,7 @@ DSTcorrect(time_t Start, time_t Future, int *error)
        return -1;
     }
     FutureDay = (tm->tm_hour + 1) % 24;
+    *error = 0;
     return (Future - Start) + (StartDay - FutureDay) * 60L * 60L;
 }
 
@@ -873,7 +874,7 @@ get_date(char *p)
     time_t             Start;
     time_t             tod;
     time_t             delta;
-    int                        error = 0;
+    int                        error;
 
     yyInput = p;
     if (now == NULL) {