Skip to content

Commit 1e27ff9

Browse files
authored
fix memory leak in cholmod (#733)
1 parent c50786b commit 1e27ff9

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

src/solvers/cholmod.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1952,22 +1952,22 @@ for TI in IndexTypes
19521952
dense_b, dense_b_ptr = wrap_dense_and_ptr(b)
19531953

19541954
X_Handle = Ptr{cholmod_dense_struct}(dense_x_ptr)
1955-
Y_Handle = Ptr{cholmod_dense_struct}(C_NULL)
1956-
E_Handle = Ptr{cholmod_dense_struct}(C_NULL)
1955+
Y_Handle = Ref(Ptr{cholmod_dense_struct}(C_NULL))
1956+
E_Handle = Ref(Ptr{cholmod_dense_struct}(C_NULL))
19571957
status = GC.@preserve x dense_x b dense_b begin
19581958
$(cholname(:solve2, TI))(
19591959
CHOLMOD_A, L,
19601960
Ref(dense_b), C_NULL,
19611961
Ref(X_Handle), C_NULL,
1962-
Ref(Y_Handle),
1963-
Ref(E_Handle),
1962+
Y_Handle,
1963+
E_Handle,
19641964
getcommon($TI))
19651965
end
1966-
if Y_Handle != C_NULL
1967-
free!(Y_Handle)
1966+
if Y_Handle[] != C_NULL
1967+
free!(Y_Handle[])
19681968
end
1969-
if E_Handle != C_NULL
1970-
free!(E_Handle)
1969+
if E_Handle[] != C_NULL
1970+
free!(E_Handle[])
19711971
end
19721972
@assert !iszero(status)
19731973

0 commit comments

Comments
 (0)