[3.13] gh-114713: Handle case of an empty string passed to zoneinfo.ZoneInfo (GH-114731) (#132563)

gh-114713: Handle case of an empty string passed to `zoneinfo.ZoneInfo` (GH-114731)
(cherry picked from commit 884df116d7)

Co-authored-by: Bogdan Romanyuk <65823030+wrongnull@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
This commit is contained in:
Miss Islington (bot) 2025-04-15 21:05:28 +02:00 committed by GitHub
parent 11617d5a7f
commit a3a3bfd01c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 0 deletions

View file

@ -235,6 +235,7 @@ class ZoneInfoTest(TzPathUserMixin, ZoneInfoTestBase):
"../zoneinfo/America/Los_Angeles", # Traverses above TZPATH
"America/../America/Los_Angeles", # Not normalized
"America/./Los_Angeles",
"",
]
for bad_key in bad_keys:

View file

@ -83,6 +83,11 @@ _TEST_PATH = os.path.normpath(os.path.join("_", "_"))[:-1]
def _validate_tzfile_path(path, _base=_TEST_PATH):
if not path:
raise ValueError(
"ZoneInfo key must not be an empty string"
)
if os.path.isabs(path):
raise ValueError(
f"ZoneInfo keys may not be absolute paths, got: {path}"

View file

@ -0,0 +1 @@
Handle case of an empty string passed to :class:`zoneinfo.ZoneInfo`.