On Mon, Aug 29, 2016 at 17:56:29 -0400, John Ferlan wrote: ... > > @@ -852,7 +863,7 @@ virQEMUCapsInitGuest(virCapsPtr caps, > > * arm is different in that 32-on-64 _only_ works with > > * qemu-system-aarch64. So we have to add it to the kvmbins list > > */ > > - if (arm_32on64_kvm) > > + if (hostarch == VIR_ARCH_AARCH64 && guestarch == VIR_ARCH_ARMV7L) > > kvmbins[3] = "qemu-system-aarch64"; > > > > for (i = 0; i < ARRAY_CARDINALITY(kvmbins); ++i) { > > > > Noted by Coverity in this module - existing I think as well, it's just > that the change piqued Coverity's interest in analyzing things... > > At the top of this function we have a: > > /* Ignore binary if extracting version info fails */ > if (binary) { > if (!(qemubinCaps = virQEMUCapsCacheLookup(cache, binary))) { > virResetLastError(); > ... > > Then there's the replace if condition w/ virQEMUCapsGuestIsNative > followed by a: > > ret = virQEMUCapsInitGuestFromBinary(caps, > binary, qemubinCaps, > kvmbin, kvmbinCaps, > guestarch); > > where it's noted that virQEMUCapsInitGuestFromBinary will dereference > qemubinCaps in the call to virQEMUCapsGetMachineTypesCaps and it's > possible that qemubinCaps is NULL if "binary" is set. The analysis > doesn't go into the virQEMUCapsGuestIsNative condition. It's also > notable that if !binary is checked in virQEMUCapsInitGuestFromBinary, so > this is somewhat of an "edge" condition. That's impossible, see if (binary) { if (!(qemubinCaps = virQEMUCapsCacheLookup(cache, binary))) { virResetLastError(); VIR_FREE(binary); } } Jirka -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list