libxc: Fix out-of-memory error handling in xc_cpupool_getinfo()
authorAndrew Cooper <andrew.cooper3@citrix.com>
Wed, 22 Jan 2014 17:47:21 +0000 (17:47 +0000)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Wed, 12 Feb 2014 16:53:23 +0000 (16:53 +0000)
Avoid freeing info then returning it to the caller.

This is XSA-88.

Coverity-ID: 1056192
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
tools/libxc/xc_cpupool.c

index c8c2a3379ac948a4b724a7a965d44b2553737fd5..6393cfb1c295eddfcf4c40fd438435f58e054605 100644 (file)
@@ -104,6 +104,7 @@ xc_cpupoolinfo_t *xc_cpupool_getinfo(xc_interface *xch,
     info->cpumap = xc_cpumap_alloc(xch);
     if (!info->cpumap) {
         free(info);
+        info = NULL;
         goto out;
     }
     info->cpupool_id = sysctl.u.cpupool_op.cpupool_id;