The virPCIDeviceIsBehindSwitchLackingACS() function checks whether given PCI device is not behind a switch that lacks ACS. It does so by starting at given device and traversing up, one parent at time towards the root. The parent device is obtained via virPCIDeviceGetParent() which allocates new virPCIDevice structure. For freeing the structure we use g_autoptr() and a temporary variable @tmp. However, Clang fails to understand our clever algorithm and complains that the variable is set but never used. This is obviously a false positive, but using a small trick we can shut Clang up. Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> --- src/util/virpci.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/util/virpci.c b/src/util/virpci.c index 915a4903ca..f307580a53 100644 --- a/src/util/virpci.c +++ b/src/util/virpci.c @@ -2150,8 +2150,8 @@ virPCIDeviceIsBehindSwitchLackingACS(virPCIDevice *dev) return 1; } - tmp = parent; - ret = virPCIDeviceGetParent(parent, &parent); + tmp = g_steal_pointer(&parent); + ret = virPCIDeviceGetParent(tmp, &parent); if (ret < 0) return -1; } while (parent); -- 2.31.1