From acbfc482eb78fa762406c2a3f86e4fa17a5b112b Mon Sep 17 00:00:00 2001 From: Mamy Ratsimbazafy Date: Sat, 6 Jul 2024 16:18:59 +0200 Subject: [PATCH] fix(multilinear-extensions): address concerns of double free on copy --- constantine/boolean_hypercube/multilinear_extensions.nim | 3 +++ 1 file changed, 3 insertions(+) diff --git a/constantine/boolean_hypercube/multilinear_extensions.nim b/constantine/boolean_hypercube/multilinear_extensions.nim index efcd1931..cd651421 100644 --- a/constantine/boolean_hypercube/multilinear_extensions.nim +++ b/constantine/boolean_hypercube/multilinear_extensions.nim @@ -40,6 +40,9 @@ type num_vars*: int base_poly_evals*: ptr UncheckedArray[F] +proc `=wasMoved`*[F](mle: var MultilinearExtension[F]) = + mle.base_poly_evals = nil + proc `=destroy`*[F](mle: var MultilinearExtension[F]) = if not mle.base_poly_evals.isNil: freeHeapAligned(mle.base_poly_evals)