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 --- a/tools/libxc/xc_misc.c +++ b/tools/libxc/xc_misc.c @@ -609,7 +609,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(