diff --git a/plugins/sudoers/getdate.c b/plugins/sudoers/getdate.c index e97d91b1f..b48433512 100644 --- a/plugins/sudoers/getdate.c +++ b/plugins/sudoers/getdate.c @@ -1016,8 +1016,9 @@ static int yygrowstack() short *newss; YYSTYPE *newvs; - newsize = yystacksize ? yystacksize : YYINITSTACKSIZE; - if (newsize >= YYMAXDEPTH) + if ((newsize = yystacksize) == 0) + newsize = YYINITSTACKSIZE; + else if (newsize >= YYMAXDEPTH) return -1; else if ((newsize *= 2) > YYMAXDEPTH) newsize = YYMAXDEPTH; @@ -1500,7 +1501,7 @@ case 41: yyval.Meridian = yyvsp[0].Meridian; } break; -#line 1451 "getdate.c" +#line 1452 "getdate.c" } yyssp -= yym; yystate = *yyssp; diff --git a/plugins/sudoers/gram.c b/plugins/sudoers/gram.c index a953e2b24..02d5418ed 100644 --- a/plugins/sudoers/gram.c +++ b/plugins/sudoers/gram.c @@ -971,8 +971,9 @@ static int yygrowstack() short *newss; YYSTYPE *newvs; - newsize = yystacksize ? yystacksize : YYINITSTACKSIZE; - if (newsize >= YYMAXDEPTH) + if ((newsize = yystacksize) == 0) + newsize = YYINITSTACKSIZE; + else if (newsize >= YYMAXDEPTH) return -1; else if ((newsize *= 2) > YYMAXDEPTH) newsize = YYMAXDEPTH; @@ -1849,7 +1850,7 @@ case 111: yyval.member = new_member(yyvsp[0].string, WORD); } break; -#line 1800 "gram.c" +#line 1801 "gram.c" } yyssp -= yym; yystate = *yyssp;