Diff for /embedaddon/sudo/plugins/sudoers/getdate.c between versions 1.1.1.2 and 1.1.1.3

version 1.1.1.2, 2012/05/29 12:26:49 version 1.1.1.3, 2013/07/22 10:46:12
Line 654  Convert(Month, Day, Year, Hours, Minutes, Seconds, Mer Line 654  Convert(Month, Day, Year, Hours, Minutes, Seconds, Mer
     }      }
     DaysInMonth[1] = Year % 4 == 0 && (Year % 100 != 0 || Year % 400 == 0)      DaysInMonth[1] = Year % 4 == 0 && (Year % 100 != 0 || Year % 400 == 0)
                     ? 29 : 28;                      ? 29 : 28;
    /* Checking for 2038 bogusly assumes that time_t is 32 bits.  But    /* 32-bit time_t cannot represent years past 2038 */
       I'm too lazy to try to check for time_t overflow in another way.  */    if (Year < EPOCH || (sizeof(time_t) == sizeof(int) && Year > 2038)
    if (Year < EPOCH || Year > 2038 
      || Month < 1 || Month > 12       || Month < 1 || Month > 12
      /* Lint fluff:  "conversion from long may lose accuracy" */       /* Lint fluff:  "conversion from long may lose accuracy" */
      || Day < 1 || Day > DaysInMonth[(int)--Month])       || Day < 1 || Day > DaysInMonth[(int)--Month])
Line 1028  main(ac, av) Line 1027  main(ac, av)
     /* NOTREACHED */      /* NOTREACHED */
 }  }
 #endif  /* defined(TEST) */  #endif  /* defined(TEST) */
#line 979 "getdate.c"#line 978 "getdate.c"
 /* allocate initial stack or double stack size, up to YYMAXDEPTH */  /* allocate initial stack or double stack size, up to YYMAXDEPTH */
 #if defined(__cplusplus) || defined(__STDC__)  #if defined(__cplusplus) || defined(__STDC__)
 static int yygrowstack(void)  static int yygrowstack(void)
Line 1040  static int yygrowstack() Line 1039  static int yygrowstack()
     short *newss;      short *newss;
     YYSTYPE *newvs;      YYSTYPE *newvs;
   
    if ((newsize = yystacksize) == 0)    newsize = yystacksize ? yystacksize : YYINITSTACKSIZE;
        newsize = YYINITSTACKSIZE;    if (newsize >= YYMAXDEPTH)
    else if (newsize >= YYMAXDEPTH) 
         return -1;          return -1;
     else if ((newsize *= 2) > YYMAXDEPTH)      else if ((newsize *= 2) > YYMAXDEPTH)
         newsize = YYMAXDEPTH;          newsize = YYMAXDEPTH;
     i = yyssp - yyss;  
 #ifdef SIZE_MAX  #ifdef SIZE_MAX
 #define YY_SIZE_MAX SIZE_MAX  #define YY_SIZE_MAX SIZE_MAX
 #else  #else
 #define YY_SIZE_MAX 0x7fffffff  #define YY_SIZE_MAX 0x7fffffff
 #endif  #endif
    if (!newsize || YY_SIZE_MAX / newsize < sizeof *newss)    if (YY_SIZE_MAX / newsize < sizeof *newss)
         goto bail;          goto bail;
       i = yyssp - yyss;
     newss = yyss ? (short *)realloc(yyss, newsize * sizeof *newss) :      newss = yyss ? (short *)realloc(yyss, newsize * sizeof *newss) :
       (short *)malloc(newsize * sizeof *newss); /* overflow check above */        (short *)malloc(newsize * sizeof *newss); /* overflow check above */
     if (newss == NULL)      if (newss == NULL)
         goto bail;          goto bail;
     yyss = newss;      yyss = newss;
     yyssp = newss + i;      yyssp = newss + i;
     if (!newsize || YY_SIZE_MAX / newsize < sizeof *newvs)  
         goto bail;  
     newvs = yyvs ? (YYSTYPE *)realloc(yyvs, newsize * sizeof *newvs) :      newvs = yyvs ? (YYSTYPE *)realloc(yyvs, newsize * sizeof *newvs) :
       (YYSTYPE *)malloc(newsize * sizeof *newvs); /* overflow check above */        (YYSTYPE *)malloc(newsize * sizeof *newvs); /* overflow check above */
     if (newvs == NULL)      if (newvs == NULL)
Line 1523  case 41: Line 1519  case 41:
             yyval.Meridian = yyvsp[0].Meridian;              yyval.Meridian = yyvsp[0].Meridian;
         }          }
 break;  break;
#line 1474 "getdate.c"#line 1470 "getdate.c"
     }      }
     yyssp -= yym;      yyssp -= yym;
     yystate = *yyssp;      yystate = *yyssp;

Removed from v.1.1.1.2  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>