[libvirt] [PATCH] util: Sanitize ATTRIBUTE_NONNULL use in viriscsi.h

Peter Krempa pkrempa at redhat.com
Tue Mar 25 07:23:04 UTC 2014


Some of the function attributes marked as nonnull actually explicitly
handle the arguments for NULL. All changed functions handle missing
"initiatoriqn" argument well and virISCSIScanTargets also handles well
if the return pointers are missing. Remove some of the liberaly used
ATTRIBUTE_NONNULLs as coverity and possibly other compilers that honor
the attribute fail to compile the code.

Flaw introduced in commit 5e1d5dde
---
 src/util/viriscsi.h | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/util/viriscsi.h b/src/util/viriscsi.h
index b2dd3f1..f4093f7 100644
--- a/src/util/viriscsi.h
+++ b/src/util/viriscsi.h
@@ -33,14 +33,14 @@ int
 virISCSIConnectionLogin(const char *portal,
                         const char *initiatoriqn,
                         const char *target)
-    ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3)
+    ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(3)
     ATTRIBUTE_RETURN_CHECK;

 int
 virISCSIConnectionLogout(const char *portal,
                          const char *initiatoriqn,
                          const char *target)
-    ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3)
+    ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(3)
     ATTRIBUTE_RETURN_CHECK;

 int
@@ -52,8 +52,7 @@ virISCSIScanTargets(const char *portal,
                     const char *initiatoriqn,
                     size_t *ntargetsret,
                     char ***targetsret)
-    ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3)
-    ATTRIBUTE_NONNULL(4) ATTRIBUTE_RETURN_CHECK;
+    ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;

 int
 virISCSINodeUpdate(const char *portal,
-- 
1.9.0




More information about the libvir-list mailing list