diff options
author | Richard Jones <rjones@redhat.com> | 2009-05-11 10:51:21 +0100 |
---|---|---|
committer | Richard Jones <rjones@redhat.com> | 2009-05-11 10:52:34 +0100 |
commit | 09128ca421f13da9fb6446cd7b09b0ae89c3876f (patch) | |
tree | 555df0ceb10b7745609a04048bde2bffdab1e905 | |
parent | d43dac69483e8ec62e8356d93f761684ce2f5cc8 (diff) | |
download | libguestfs-09128ca421f13da9fb6446cd7b09b0ae89c3876f.tar.gz libguestfs-09128ca421f13da9fb6446cd7b09b0ae89c3876f.tar.xz libguestfs-09128ca421f13da9fb6446cd7b09b0ae89c3876f.zip |
Perl bindings fix: Not enough memory was allocated for array params.
-rw-r--r-- | BUGS | 1 | ||||
-rw-r--r-- | perl/Guestfs.xs | 2 | ||||
-rwxr-xr-x | src/generator.ml | 2 |
3 files changed, 3 insertions, 2 deletions
@@ -54,3 +54,4 @@ quite hard to fix cleanly. [perl] Perl bindings cause a segfault when you call any command which takes a StringList (eg. $g->command). +[should be fixed now] diff --git a/perl/Guestfs.xs b/perl/Guestfs.xs index 27e03d06..5ce5def1 100644 --- a/perl/Guestfs.xs +++ b/perl/Guestfs.xs @@ -68,7 +68,7 @@ XS_unpack_charPtrPtr (SV *arg) { croak ("array reference expected"); av = (AV *)SvRV (arg); - ret = malloc (av_len (av) + 1 + 1); + ret = malloc ((av_len (av) + 1 + 1) * sizeof (char *)); if (!ret) croak ("malloc failed"); diff --git a/src/generator.ml b/src/generator.ml index f7057d0e..7f248027 100755 --- a/src/generator.ml +++ b/src/generator.ml @@ -4862,7 +4862,7 @@ XS_unpack_charPtrPtr (SV *arg) { croak (\"array reference expected\"); av = (AV *)SvRV (arg); - ret = malloc (av_len (av) + 1 + 1); + ret = malloc ((av_len (av) + 1 + 1) * sizeof (char *)); if (!ret) croak (\"malloc failed\"); |