From f1ea1ec101df19a16b85a592564a284ebe8e6bf3 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 Nov 2011 17:13:17 +0000 Subject: [PATCH] ocaml: Fix memory leak in bindings for functions that return buffers. RBufferOut binding didn't free the buffer after copying it onto the OCaml heap. Found by valgrind. (cherry picked from commit 6bd0eec12f2e39360847bfe7a9f50628cc89ed8e) --- generator/generator_ocaml.ml | 1 + 1 file changed, 1 insertion(+) diff --git a/generator/generator_ocaml.ml b/generator/generator_ocaml.ml index 4f7548c..10c18e3 100644 --- a/generator/generator_ocaml.ml +++ b/generator/generator_ocaml.ml @@ -625,6 +625,7 @@ copy_table (char * const * argv) | RBufferOut _ -> pr " rv = caml_alloc_string (size);\n"; pr " memcpy (String_val (rv), r, size);\n"; + pr " free (r);\n" ); pr " CAMLreturn (rv);\n"; -- 1.8.3.1