Skip to content

Commit abcd1c4

Browse files
committed
chore: resolve comment
1 parent 716b0c5 commit abcd1c4

File tree

2 files changed

+2
-17
lines changed

2 files changed

+2
-17
lines changed

Lib/test/test_zoneinfo/test_zoneinfo.py

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1559,22 +1559,9 @@ def test_weak_cache_descriptor_use_after_free(self):
15591559
if "UTC" not in available_zones:
15601560
raise unittest.SkipTest("No time zone data available")
15611561

1562-
class Cache:
1563-
def __init__(self):
1564-
self.data = {}
1565-
1566-
def get(self, key, default=None):
1567-
return self.data.get(key, default)
1568-
1569-
def setdefault(self, key, default):
1570-
return self.data.setdefault(key, default)
1571-
1572-
def clear(self, *args, **kwargs):
1573-
self.data.clear()
1574-
15751562
class BombDescriptor:
15761563
def __get__(self, obj, owner):
1577-
return Cache()
1564+
return dict()
15781565

15791566
class EvilZoneInfo(ZoneInfo):
15801567
pass
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
Fix zoneinfo use-after-free with descriptor _weak_cache. Return new
2-
reference from get_weak_cache() instead of borrowed reference to prevent
3-
premature object free.
1+
Fix zoneinfo use-after-free with descriptor _weak_cache. a descriptor as _weak_cache could cause crashes during object creation. The fix ensures proper reference counting for descriptor-provided objects.

0 commit comments

Comments
 (0)