[ovs-dev] [PATCH 6/6] netdev: Fix null pointer dereference reported by clang.

Bhanuprakash Bodireddy bhanuprakash.bodireddy at intel.com
Mon Jun 19 18:54:04 UTC 2017


Clang reports that array access from 'dumps' variable result in null pointer
dereference.

Signed-off-by: Bhanuprakash Bodireddy <bhanuprakash.bodireddy at intel.com>
---
 lib/netdev.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/lib/netdev.c b/lib/netdev.c
index 001b7b3..336c141 100644
--- a/lib/netdev.c
+++ b/lib/netdev.c
@@ -2290,14 +2290,16 @@ netdev_ports_flow_dump_create(const void *obj, int *ports)
 
     dumps = count ? xzalloc(sizeof *dumps * count) : NULL;
 
-    HMAP_FOR_EACH(data, node, &port_to_netdev) {
-        if (data->obj == obj) {
-            if (netdev_flow_dump_create(data->netdev, &dumps[i])) {
-                continue;
-            }
+    if (dumps) {
+        HMAP_FOR_EACH(data, node, &port_to_netdev) {
+            if (data->obj == obj) {
+                if (netdev_flow_dump_create(data->netdev, &dumps[i])) {
+                    continue;
+                }
 
-            dumps[i]->port = data->dpif_port.port_no;
-            i++;
+                dumps[i]->port = data->dpif_port.port_no;
+                i++;
+            }
         }
     }
     ovs_mutex_unlock(&netdev_hmap_mutex);
-- 
2.4.11



More information about the dev mailing list