From: Jan Beulich Date: Mon, 20 Feb 2017 16:53:27 +0000 (+0000) Subject: libxc: don't pass uninitialized data to do_dm_op() X-Git-Tag: archive/raspbian/4.11.1-1+rpi1~1^2~66^2~2735 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=78da0c2a7a9c621ba64e515528e11e5f28f15050;p=xen.git libxc: don't pass uninitialized data to do_dm_op() do_dm_op() expects (void *, size_t) pairs, but with nr being uint32_t the type of the expression of xc_hvm_track_dirty_vram()'s last argument to the function is only a 32 bits one. Neither C nor the ABI require the compiler to promote the type beyond int. Signed-off-by: Jan Beulich Acked-by: Wei Liu --- diff --git a/tools/libxc/xc_misc.c b/tools/libxc/xc_misc.c index 0fc6c22a2e..5159475b29 100644 --- a/tools/libxc/xc_misc.c +++ b/tools/libxc/xc_misc.c @@ -560,7 +560,7 @@ int xc_hvm_track_dirty_vram( data->nr = nr; return do_dm_op(xch, dom, 2, &op, sizeof(op), - dirty_bitmap, (nr + 7) / 8); + dirty_bitmap, (size_t)((nr + 7) / 8)); } int xc_hvm_modified_memory(