Skip to content

Commit 7ef5bc9

Browse files
committed
Fix memory leak
1 parent de3b46a commit 7ef5bc9

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

arrayfire/array.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -894,8 +894,10 @@ def __setitem__(self, key, val):
894894
if (is_number(val)):
895895
tdims = _get_assign_dims(key, self.dims())
896896
other_arr = constant_array(val, tdims[0], tdims[1], tdims[2], tdims[3], self.type())
897+
del_other = True
897898
else:
898899
other_arr = val.arr
900+
del_other = False
899901

900902
out_arr = ct.c_void_p(0)
901903
inds = _get_indices(key)
@@ -904,6 +906,8 @@ def __setitem__(self, key, val):
904906
self.arr, ct.c_longlong(n_dims), ct.pointer(inds),
905907
other_arr))
906908
safe_call(backend.get().af_release_array(self.arr))
909+
if del_other:
910+
safe_call(backend.get().af_release_array(other_arr))
907911
self.arr = out_arr
908912

909913
except RuntimeError as e:

0 commit comments

Comments
 (0)