'zic' WORK_AROUND_QTBUG_53071 breaks libical with interoperable timezones

Milan Crha mcrha at redhat.com
Wed Nov 22 08:31:42 PST 2017


	Hello,
I spent several hours investigating an issue reported here:
https://bugzilla.redhat.com/show_bug.cgi?id=1514912

and it turned out that tzdata's (or in glibc) zic.c
WORK_AROUND_QTBUG_53071 breaks libical 2.0 with interoperable timezones
in a way that it can crash, but also provides incorrect data. You can
see my tests at this comment:
https://bugzilla.redhat.com/show_bug.cgi?id=1514912#c20

and the next comment contains a reproducer. A good news is that only
libical 2.0 with interoperable timezones leads to a crash, libical 3.0
is fine, but libical 3.0 seems to provide wrong timezone.

Maybe that's the reason why the src/test/timezones.c fails in some
cases? Just an idea.

I suppose, from the output of the exact-timezone=1, that the component
in 3.0 should have DTSTART at 1970 and the new one from 2038 is just a
continuation.

Could you comment on the issue, please? Either here, or at the
downstream bugzilla. I'm fine to write your thoughts from here to the
bugzilla, in case you do not have an account there.

	Thanks and bye,
	Milan

P.S.: I hope Kent will not mind I CC'ed him directly, he significantly
changed the zone files parser in 3.0, thus he knows the most about it
at the moment, from my point of view.



More information about the libical-devel mailing list