[libvirt] [PATCH 1/6] conf: fix NULL check in virNetDevBandwidthParse

Ján Tomko jtomko at redhat.com
Thu Nov 29 15:13:37 UTC 2012


Found by coverity:
Error: REVERSE_INULL (CWE-476):
    libvirt-0.10.2/src/conf/netdev_bandwidth_conf.c:99: deref_ptr:
    Directly dereferencing pointer "node".
    libvirt-0.10.2/src/conf/netdev_bandwidth_conf.c:107:
    check_after_deref: Null-checking "node" suggests that it may be
    null, but it has already been dereferenced on all paths leading to
    the check.
---
 src/conf/netdev_bandwidth_conf.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/conf/netdev_bandwidth_conf.c b/src/conf/netdev_bandwidth_conf.c
index 261718f..5802eba 100644
--- a/src/conf/netdev_bandwidth_conf.c
+++ b/src/conf/netdev_bandwidth_conf.c
@@ -96,7 +96,7 @@ virNetDevBandwidthPtr
 virNetDevBandwidthParse(xmlNodePtr node)
 {
     virNetDevBandwidthPtr def = NULL;
-    xmlNodePtr cur = node->children;
+    xmlNodePtr cur;
     xmlNodePtr in = NULL, out = NULL;
 
     if (VIR_ALLOC(def) < 0) {
@@ -110,6 +110,8 @@ virNetDevBandwidthParse(xmlNodePtr node)
         goto error;
     }
 
+    cur = node->children;
+
     while (cur) {
         if (cur->type == XML_ELEMENT_NODE) {
             if (xmlStrEqual(cur->name, BAD_CAST "inbound")) {
-- 
1.7.8.6




More information about the libvir-list mailing list