ocaml/xenctrl: Check return values from hypercalls

rather than blindly continuing and possibly using negative values.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Ian Campbell <Ian.Campbell@citrix.com>
CC: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
CC: Dave Scott <dave.scott@eu.citrix.com>
Acked-by: David Scott <dave.scott@citrix.com>
(cherry picked from commit 3380f5b627)
(cherry picked from commit c91ed889ea)
(cherry picked from commit 10a95535b0)
This commit is contained in:
Andrew Cooper authored and Ian Jackson committed 2015-08-12 11:57:18 +01:00
1 parent 0332b3f24b
commit 8d0ca8a5e1
1 file changed
+9
+9
View File
@@ -455,6 +455,9 @@ CAMLprim value stub_xc_vcpu_getaffinity(value xch, value domid,
int i, len = xc_get_max_cpus(_H(xch));
int retval;
if (len < 1)
failwith_xc(_H(xch));
c_cpumap = xc_cpumap_alloc(_H(xch));
if (c_cpumap == NULL)
failwith_xc(_H(xch));
@@ -805,6 +808,12 @@ CAMLprim value stub_xc_version_version(value xch)
caml_enter_blocking_section();
packed = xc_version(_H(xch), XENVER_version, NULL);
caml_leave_blocking_section();
if (packed < 0)
failwith_xc(_H(xch));
caml_enter_blocking_section();
retval = xc_version(_H(xch), XENVER_extraversion, &extra);
caml_leave_blocking_section();
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.