diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2011-11-29 17:13:17 +0000 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2011-11-29 17:13:17 +0000 |
commit | 6bd0eec12f2e39360847bfe7a9f50628cc89ed8e (patch) | |
tree | f0cf904790c07412d8860f5760958bf7b577046c /generator | |
parent | bcd2dba76efa4da4edb1b04f6348b0a0dfb109c2 (diff) | |
download | libguestfs-6bd0eec12f2e39360847bfe7a9f50628cc89ed8e.tar.gz libguestfs-6bd0eec12f2e39360847bfe7a9f50628cc89ed8e.tar.xz libguestfs-6bd0eec12f2e39360847bfe7a9f50628cc89ed8e.zip |
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.
Diffstat (limited to 'generator')
-rw-r--r-- | generator/generator_ocaml.ml | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/generator/generator_ocaml.ml b/generator/generator_ocaml.ml index 4f7548c5..10c18e37 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"; |