Skip to content

Commit 2ddbe6b

Browse files
authored
BUG: Prevent free'ing uninitialized pointer in DeviceEvents (#2047)
1 parent 35d1722 commit 2ddbe6b

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

cuda_core/cuda/core/system/_event.pxi

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ cdef class DeviceEvents:
9595
cdef intptr_t _device_handle
9696

9797
def __init__(self, device_handle: intptr_t, events: EventType | str | list[EventType | str]):
98+
self._event_set = 0
99+
98100
cdef unsigned long long event_bitmask
99101
if isinstance(events, (str, EventType)):
100102
events = [events]
@@ -120,7 +122,8 @@ cdef class DeviceEvents:
120122
nvml.device_register_events(self._device_handle, event_bitmask, self._event_set)
121123

122124
def __dealloc__(self):
123-
nvml.event_set_free(self._event_set)
125+
if self._event_set != 0:
126+
nvml.event_set_free(self._event_set)
124127

125128
def wait(self, timeout_ms: int = 0) -> EventData:
126129
"""

0 commit comments

Comments
 (0)