
On 04/25/2013 05:41 AM, Ján Tomko wrote:
Reject multiple controllers with the same index, except for USB controllers. Multi-function USB controllers can have the same index. ---
Compared to the earlier version you posted as patch 6/5 on the pci patches, you changed to a stack allocation of the bitmaps.
src/conf/domain_conf.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+)
+virDomainDefRejectDuplicateControllers(virDomainDefPtr def) +{ + int max_idx[VIR_DOMAIN_CONTROLLER_TYPE_LAST]; + virBitmapPtr bitmaps[VIR_DOMAIN_CONTROLLER_TYPE_LAST] = { NULL }; + virDomainControllerDefPtr cont; + size_t nbitmaps = 0; + int ret = -1; + bool b; + int i; + + memset(max_idx, -1, sizeof(max_idx)/sizeof(max_idx[0]));
That's too small. If VIR_DOMAIN_CONTROLLER_TYPE_LAST is 8, it only sets 2 entries and leaves the last 6 uninitialized. You want: memset(max_idx, -1, sizeof(max_idx)); ACK with the fixed initialization. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org