The function returns a list of libxl_nicinfo not libxl_device_nic.
Causes memory corruption on free.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
libxl__sprintf(&gc, "%s/device/vif", dompath), &nb_nics);
if (!l)
goto err;
- nics = res = calloc(nb_nics, sizeof (libxl_device_nic));
+ nics = res = calloc(nb_nics, sizeof (libxl_nicinfo));
if (!res)
goto err;
for (*nb = nb_nics; nb_nics > 0; --nb_nics, ++l, ++nics) {