If virDomainDiskDefFree(disk) is called in 'skipdisk:', then it's possible
to either return to skipdisk without reallocating a new disk (via the if
condition just prior) or to end the loop having deleted the disk. Since
virDomainDiskDefFree() does not pass by reference, disk isn't changed in
this context, thus the possible issue.
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/xenconfig/xen_xm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/xenconfig/xen_xm.c b/src/xenconfig/xen_xm.c
index fe46d91..1e57e24 100644
--- a/src/xenconfig/xen_xm.c
+++ b/src/xenconfig/xen_xm.c
@@ -201,6 +201,7 @@ xenParseXMDisk(virConfPtr conf, virDomainDefPtr def, int
xendConfigVersion)
skipdisk:
list = list->next;
virDomainDiskDefFree(disk);
+ disk = NULL;
}
}
--
1.9.3