[tz] Troll throws zic for a loop
eggert at cs.ucla.edu
Fri Mar 21 14:35:42 UTC 2014
Marc Lehmann wrote:
> If the number of transitions in the table is ultimately bounded (which
> seems to be the case here), then not using malloc is safer, faster,
> simpler, more memory efficient, and cleaner for zic.
Having zic avoid malloc is less resilient in the face of future changes,
such as the ones needed for Troll. If zic had already been using
malloc, we could ship the new Antarctica/Troll now, without worrying
about old zic implementations rejecting it. If zic starts using malloc
now, future changes like this should be easier to deploy.
Plus, zic is already using malloc elsewhere, so using malloc for these
cases doesn't introduce any fundamental new problems.
malloc is more problematic for localtime, not just in terms of runtime
overhead, but in terms of safety and correctness: there are applications
where it's not nice to display the time incorrectly (or not at all -- or
worse, dump core) merely because malloc failed. There are embedded
environments where use of malloc is frowned upon entirely, for these
reasons. These considerations generally don't apply to zic, which makes
it more reasonable to use malloc in zic than in localtime.
More information about the tz