On Tue, Aug 30, 2011 at 05:47:01PM -0700, Alex Nelson
wrote:> Hello all,
>
> I am in the process of adding a new return type for the hivex ABI, and I
found what I think is an error. I'm not sure, because I don't
understand the OCaml binding data structures. Can somebody inform me if the
patch below actually corrects a problem?
>
> --Alex
>
>
> ---
> generator/generator.ml | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/generator/generator.ml b/generator/generator.ml
> index de103ed..c98e625 100755
> --- a/generator/generator.ml
> +++ b/generator/generator.ml
> @@ -1946,7 +1946,7 @@ copy_type_len (size_t len, hive_type t)
> v = Val_hive_type (t);
> Store_field (rv, 0, v);
> v = Val_int (len);
> - Store_field (rv, 1, len);
> + Store_field (rv, 1, v);
> CAMLreturn (rv);
> }
Yes, that is a very serious bug in Hivex.value_type. (Luckily
everyone uses Hivex.value_value instead, so we didn't hit this).
I have applied your patch.
Thanks,
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into Xen guests.
http://et.redhat.com/~rjones/virt-p2v