dev: fix null dereference of arg list 38/39938/2
authorDamjan Marion <damarion@cisco.com>
Thu, 16 Nov 2023 19:14:12 +0000 (19:14 +0000)
committerOle Tr�an <otroan@employees.org>
Fri, 24 Nov 2023 13:25:26 +0000 (13:25 +0000)
Type: fix
Fixes: 69768d9
Change-Id: Iafd3a55634583f2799a81c477ccbf5e53b6f29d0
Signed-off-by: Damjan Marion <damarion@cisco.com>
src/vnet/dev/api.c
src/vnet/dev/port.c

index 260bc7b..72811f5 100644 (file)
@@ -90,9 +90,10 @@ vnet_dev_api_attach (vlib_main_t *vm, vnet_dev_api_attach_args_t *args)
     }
   dev->description = dev_desc;
 
-  for (vnet_dev_arg_t *a = driver->registration->args;
-       a->type != VNET_DEV_ARG_END; a++)
-    vec_add1 (dev->args, *a);
+  if (driver->registration->args)
+    for (vnet_dev_arg_t *a = driver->registration->args;
+        a->type != VNET_DEV_ARG_END; a++)
+      vec_add1 (dev->args, *a);
 
   if (args->args)
     {
index b3f4035..0363ea4 100644 (file)
@@ -267,8 +267,9 @@ vnet_dev_port_add (vlib_main_t *vm, vnet_dev_t *dev, vnet_dev_port_id_t id,
   port->rx_node = *args->rx_node;
   port->tx_node = *args->tx_node;
 
-  for (vnet_dev_arg_t *a = args->port.args; a->type != VNET_DEV_ARG_END; a++)
-    vec_add1 (port->args, *a);
+  if (args->port.args)
+    for (vnet_dev_arg_t *a = args->port.args; a->type != VNET_DEV_ARG_END; a++)
+      vec_add1 (port->args, *a);
 
   /* defaults out of port attributes */
   port->max_rx_frame_size = args->port.attr.max_supported_rx_frame_size;