On Fri, Sep 11, 2009 at 02:31:44PM +0100, Matthew Booth wrote:
Parsed string lists are allocated by malloc, but were never freed.
---
src/generator.ml | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/src/generator.ml b/src/generator.ml
index 7571f95..439c9c4 100755
--- a/src/generator.ml
+++ b/src/generator.ml
@@ -6320,7 +6320,7 @@ and generate_fish_cmds () =
| OptString n
| FileIn n
| FileOut n -> pr " const char *%s;\n" n
- | StringList n | DeviceList n -> pr " char *const *%s;\n" n
+ | StringList n | DeviceList n -> pr " char **%s;\n" n
| Bool n -> pr " int %s;\n" n
| Int n -> pr " int %s;\n" n
) (snd style);
@@ -6364,6 +6364,15 @@ and generate_fish_cmds () =
generate_c_call_args ~handle:"g" style;
pr ";\n";
+ List.iter (
+ function
+ | Pathname name | Device name | Dev_or_Path name | String name
+ | OptString name | FileIn name | FileOut name | Bool name
+ | Int name -> ()
+ | StringList name | DeviceList name ->
+ pr " free_strings (%s);\n" name
+ ) (snd style);
+
(* Check return value for errors and display command results. *)
(match fst style with
| RErr -> pr " return r;\n"
--
1.6.2.5
Looks good to me - ACK.
Rich.
--
Richard Jones, Emerging Technologies, Red Hat
http://et.redhat.com/~rjones
New in Fedora 11: Fedora Windows cross-compiler. Compile Windows
programs, test, and build Windows installers. Over 70 libraries supprt'd
http://fedoraproject.org/wiki/MinGW http://www.annexia.org/fedora_mingw