Skip to content

Commit 2102c1e

Browse files
committed
BUG: Prevent free'ing uninitialized pointer in DeviceEvents
1 parent 39c085c commit 2102c1e

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

cuda_core/cuda/core/system/_event.pxi

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,13 +144,15 @@ cdef class DeviceEvents:
144144
raise TypeError("events must be an EventType, str, or list of EventType or str")
145145

146146
self._device_handle = device_handle
147+
self._event_set = 0
147148
self._event_set = nvml.event_set_create()
148149
# If this raises, the event needs to be freed and this is handled by
149150
# this class's __dealloc__ method.
150151
nvml.device_register_events(self._device_handle, event_bitmask, self._event_set)
151152

152153
def __dealloc__(self):
153-
nvml.event_set_free(self._event_set)
154+
if self._event_set != 0:
155+
nvml.event_set_free(self._event_set)
154156

155157
def wait(self, timeout_ms: int = 0) -> EventData:
156158
"""

0 commit comments

Comments
 (0)