[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v6 10/11] libxl: ocaml: fix memory corruption when converting string and key/values lists



Found by Coverty. CIDs: 1128562 1128563 1128564 1128565.

Signed-off-by: Rob Hoes <rob.hoes@xxxxxxxxxx>
Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Acked-by: David Scott <dave.scott@xxxxxxxxxxxxx>
Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
 tools/ocaml/libs/xl/xenlight_stubs.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/ocaml/libs/xl/xenlight_stubs.c 
b/tools/ocaml/libs/xl/xenlight_stubs.c
index 2c24ea2..4fd5d07 100644
--- a/tools/ocaml/libs/xl/xenlight_stubs.c
+++ b/tools/ocaml/libs/xl/xenlight_stubs.c
@@ -160,8 +160,8 @@ static value Val_key_value_list(libxl_key_value_list *c_val)
 
        list = Val_emptylist;
        for (i = libxl_string_list_length((libxl_string_list *) c_val) - 1; i 
>= 0; i -= 2) {
-               val = caml_copy_string((char *) c_val[i]);
-               key = caml_copy_string((char *) c_val[i - 1]);
+               val = caml_copy_string((*c_val)[i]);
+               key = caml_copy_string((*c_val)[i - 1]);
                kv = caml_alloc_tuple(2);
                Store_field(kv, 0, key);
                Store_field(kv, 1, val);
@@ -202,7 +202,7 @@ static value Val_string_list(libxl_string_list *c_val)
 
        list = Val_emptylist;
        for (i = libxl_string_list_length(c_val) - 1; i >= 0; i--) {
-               string = caml_copy_string((char *) c_val[i]);
+               string = caml_copy_string((*c_val)[i]);
                cons = caml_alloc(2, 0);
                Store_field(cons, 0, string);   // head
                Store_field(cons, 1, list);     // tail
-- 
1.7.10.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.