Not sure which release exactly, but the coverity analysis bug I filed that was the reason for commit id 'c9a85af31' has been fixed, so it's time to remove that... In doing so uncovered another issue - it seems the fix for Coverity addressed the primary problem we've seen, but when there's functions returning allocated strings by reference that can also VIR_FREE(*string), whatever was added to address the main issue doesn't seem to recognize this other usage, resulinting in a false positive resource_leak. Luckily there's only two instances in our code for that. One is addressed by patch 3 and the other in virPCIDeviceGetDriverPathAndName which would require quite a few more changes to address (essentially split up the function - it'll be on my "to do" list). Patch 1: Addresses an issue seen once patches 2-4 were applied - that there's a real problem with the error path. It's a simple fix. Patches 2 & 3: Address a false positive resource leak even with patch 4 applied. Patch 4: Remove the rather ugly !STATIC_ANALYSIS within the VIR_FREE and VIR_DISPOSE* macros. As I found with a build after the fact, VIR_DISPOSE_STRING was missing an argument anyway (it should have been ": 0, 1, NULL" instead of ": 1, NULL"). NB: Patch 4 has been run through the private coverity server... John Ferlan (4): util: Fix error path for virPCIGetVirtualFunctions util: Remove need for ret in virPCIGetPhysicalFunction util: Adjust return for virPCIGetDeviceAddressFromSysfsLink util: Remove need for STATIC_ANALYSIS check src/util/viralloc.h | 34 ++++++---------------------------- src/util/virpci.c | 39 +++++++++++++++++++-------------------- 2 files changed, 25 insertions(+), 48 deletions(-) -- 2.5.5 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list