rather than blindly continuing and possibly using negative values.

Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>
CC: Ian Campbell <ian.campb...@citrix.com>
CC: Ian Jackson <ian.jack...@eu.citrix.com>
CC: Wei Liu <wei.l...@citrix.com>
CC: Dave Scott <dave.sc...@eu.citrix.com>

---
Found with XenServers Coverity scanning.  We have the sensitivity turned up
higher than Coverity Scan, which does not flag these issues.
---
 tools/ocaml/libs/xc/xenctrl_stubs.c |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c 
b/tools/ocaml/libs/xc/xenctrl_stubs.c
index f0810eb..92d064f 100644
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -457,6 +457,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));
@@ -821,6 +824,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();
 
-- 
1.7.10.4


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

Reply via email to