[libvirt] [PATCH 15/3] interface: drop dead code

Eric Blake eblake at redhat.com
Tue Aug 2 22:09:45 UTC 2011


Coverity detected that ifaceGetNthParent had already dereferenced
'nth' prior to the conditional; all callers already complied with
passing a non-NULL pointer so make this part of the contract.

* src/util/interface.h (ifaceGetNthParent): Add annotations.
* src/util/interface.c (ifaceGetNthParent): Drop useless null check.
---
 src/util/interface.c |    3 +--
 src/util/interface.h |    5 ++++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/util/interface.c b/src/util/interface.c
index f5eecfb..8b4522b 100644
--- a/src/util/interface.c
+++ b/src/util/interface.c
@@ -1060,8 +1060,7 @@ ifaceGetNthParent(int ifindex, const char *ifname, unsigned int nthParent,
         i++;
     }

-    if (nth)
-        *nth = i - 1;
+    *nth = i - 1;

     return rc;
 }
diff --git a/src/util/interface.h b/src/util/interface.h
index 9647653..47c0eb0 100644
--- a/src/util/interface.h
+++ b/src/util/interface.h
@@ -1,6 +1,7 @@
 /*
  * interface.h: interface helper APIs for libvirt
  *
+ * Copyright (C) 2011 Red Hat, Inc.
  * Copyright (C) 2010 IBM Corporation, Inc.
  *
  * See COPYING.LIB for the License of this software
@@ -67,7 +68,9 @@ int ifaceMacvtapLinkDump(bool nltarget_kernel, const char *ifname, int ifindex,

 int ifaceGetNthParent(int ifindex, const char *ifname, unsigned int nthParent,
                       int *parent_ifindex, char *parent_ifname,
-                      unsigned int *nth);
+                      unsigned int *nth)
+    ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(4) ATTRIBUTE_NONNULL(5)
+    ATTRIBUTE_NONNULL(6);

 int ifaceReplaceMacAddress(const unsigned char *macaddress,
                            const char *linkdev,
-- 
1.7.4.4




More information about the libvir-list mailing list