Page MenuHomeFreeBSD

tzcode: Fix issues when TZ is an absolute path
ClosedPublic

Authored by des on Sep 26 2025, 5:57 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Sep 16, 9:07 AM
Unknown Object (File)
Thu, Sep 3, 10:34 PM
Unknown Object (File)
Thu, Sep 3, 10:10 PM
Unknown Object (File)
Thu, Sep 3, 9:29 AM
Unknown Object (File)
Tue, Sep 1, 6:23 AM
Unknown Object (File)
Tue, Aug 25, 4:02 PM
Unknown Object (File)
Thu, Aug 20, 7:57 PM
Unknown Object (File)
Aug 18 2026, 6:43 PM
Subscribers

Details

Summary
  • If TZ starts with TZDIR, strip any additional slashes so relname does not end up looking like an absolute path. For instance, TZ=/usr/share/zoneinfo//UTC should result in UTC, not /UTC.
  • In the setugid case, we were incorrectly passing name rather than relname to fstatat().
  • Modify the tz_env and tz_env_setugid test cases to exercise both of these scenarios.
  • Also add test cases for invalid values of TZ, which I wrote earlier but forgot to include in a5f14e4f9069.

Reported by: Paul Eggert <eggert@cs.ucla.edu>
MFC after: 3 days
Fixes: 967a49a21a27 ("Update tzcode to 2025b")
Fixes: a5f14e4f9069 ("tzcode: Use -00 only for invalid time zones")

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 67353
Build 64236: arc lint + arc unit