[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 @@ def test_bad_keys_paths(self):
"../zoneinfo/America/Los_Angeles", # Traverses above TZPATH "../zoneinfo/America/Los_Angeles", # Traverses above TZPATH
"America/../America/Los_Angeles", # Not normalized "America/../America/Los_Angeles", # Not normalized
"America/./Los_Angeles", "America/./Los_Angeles",
"",
] ]
for bad_key in bad_keys: for bad_key in bad_keys:

View file

@ -83,6 +83,11 @@ def find_tzfile(key):
def _validate_tzfile_path(path, _base=_TEST_PATH): 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): if os.path.isabs(path):
raise ValueError( raise ValueError(
f"ZoneInfo keys may not be absolute paths, got: {path}" 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`.