From: Paul Eggert Date: Tue, 14 Sep 2021 05:49:45 +0000 (-0700) Subject: Fix subscript error with odd TZif file [BZ #28338] X-Git-Tag: glibc-2.35~441 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=645277434a42efc547d2cac8bfede4da10b4049f;p=thirdparty%2Fglibc.git 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 --- diff --git a/time/tzfile.c b/time/tzfile.c index 4377018a559..190a777152b 100644 --- a/time/tzfile.c +++ b/time/tzfile.c @@ -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