Clang complains nr_dom_vcpus may be used uninitialized after 4a6070ea9. The real issue is vinfo can be NULL and nr_dom_vcpus remains uninitialized if previous call fails.
Instead of initializing nr_dom_vcpus to 0, check if vinfo is NULL before calling the free function, because that function can't handle NULL. That should also placate Clang. Signed-off-by: Wei Liu <wei.l...@citrix.com> --- Cc: Ian Jackson <ian.jack...@eu.citrix.com> Cc: Dario Faggioli <dario.faggi...@citrix.com> Cc: Juergen Gross <jgr...@suse.com> --- tools/libxl/libxl_numa.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/libxl/libxl_numa.c b/tools/libxl/libxl_numa.c index fd64c22..0bdac2a 100644 --- a/tools/libxl/libxl_numa.c +++ b/tools/libxl/libxl_numa.c @@ -254,7 +254,8 @@ static int nr_vcpus_on_nodes(libxl__gc *gc, libxl_cputopology *tinfo, next: libxl_cpupoolinfo_dispose(&cpupool_info); - libxl_vcpuinfo_list_free(vinfo, nr_dom_vcpus); + if (vinfo) + libxl_vcpuinfo_list_free(vinfo, nr_dom_vcpus); } libxl_bitmap_dispose(&dom_nodemap); -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel