Fix subscript error with odd TZif file [BZ #28338]

* time/tzfile.c (__tzfile_compute): Fix unlikely off-by-one bug
that accessed before start of an array when an oddball-but-valid
TZif file was queried with an unusual time_t value.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
This commit is contained in:
Paul Eggert 2021-09-13 22:49:45 -07:00 committed by Adhemerval Zanella
parent f2e06656d0
commit 645277434a

View File

@ -765,8 +765,7 @@ __tzfile_compute (__time64_t timer, int use_localtime,
*leap_correct = leaps[i].change;
if (timer == leaps[i].transition /* Exactly at the transition time. */
&& ((i == 0 && leaps[i].change > 0)
|| leaps[i].change > leaps[i - 1].change))
&& (leaps[i].change > (i == 0 ? 0 : leaps[i - 1].change)))
{
*leap_hit = 1;
while (i > 0