mirror of
git://git.musl-libc.org/musl
synced 2025-04-01 22:48:38 +00:00
always reset DST rules during tzset
do_tzset() did't always reset the DST transition rules r0 and r1. That means the rules from older TZ settings could leak into newer ones.
This commit is contained in:
parent
d6c855caa8
commit
dbcfb16e43
@ -130,6 +130,8 @@ static void do_tzset()
|
||||
|
||||
if (old_tz && !strcmp(s, old_tz)) return;
|
||||
|
||||
for (i=0; i<5; i++) r0[i] = r1[i] = 0;
|
||||
|
||||
if (zi) __munmap((void *)zi, map_size);
|
||||
|
||||
/* Cache the old value of TZ to check if it has changed. Avoid
|
||||
@ -194,7 +196,6 @@ static void do_tzset()
|
||||
const unsigned char *p;
|
||||
__tzname[0] = __tzname[1] = 0;
|
||||
__daylight = __timezone = dst_off = 0;
|
||||
for (i=0; i<5; i++) r0[i] = r1[i] = 0;
|
||||
for (p=types; p<abbrevs; p+=6) {
|
||||
if (!p[4] && !__tzname[0]) {
|
||||
__tzname[0] = (char *)abbrevs + p[5];
|
||||
|
Loading…
Reference in New Issue
Block a user