]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
util: Fix error path for virPCIGetVirtualFunctions
authorJohn Ferlan <jferlan@redhat.com>
Tue, 17 May 2016 14:31:16 +0000 (10:31 -0400)
committerJohn Ferlan <jferlan@redhat.com>
Thu, 19 May 2016 20:30:04 +0000 (16:30 -0400)
If we get to the error: label and clear out the *virtual_functions[]
pointers and then return w/ error to the caller - the caller has it's
own cleanup of the same array in the out: label which is keyed off the
value of num_virt_fns, which wasn't reset to 0 in the called function
leading to a possible problem.

Just clear the value (found by Coverity)

Signed-off-by: John Ferlan <jferlan@redhat.com>
src/util/virpci.c

index 3f1252d42bbc59133d2890b3c73e1f0ecabc120f..be35017dad9f6c8d077e2db8061ef96bfe30d49e 100644 (file)
@@ -2573,6 +2573,7 @@ virPCIGetVirtualFunctions(const char *sysfs_path,
     for (i = 0; i < *num_virtual_functions; i++)
         VIR_FREE((*virtual_functions)[i]);
     VIR_FREE(*virtual_functions);
+    *num_virtual_functions = 0;
     goto cleanup;
 }