memif: Fix underflow 85/35285/2
authorNathan Skrzypczak <nathan.skrzypczak@gmail.com>
Fri, 11 Feb 2022 10:19:58 +0000 (11:19 +0100)
committerDamjan Marion <dmarion@me.com>
Sun, 13 Feb 2022 20:10:58 +0000 (20:10 +0000)
Type: fix

Change-Id: Id183c47328510b5db7ffcc7a4dfb41f5a3151399
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
src/plugins/memif/node.c

index 1f636f2..5bb10fc 100644 (file)
@@ -557,7 +557,7 @@ memif_device_input_inline (vlib_main_t *vm, vlib_node_runtime_t *node,
 
       vlib_get_buffers (vm, ptd->buffers, buffer_ptrs, n_buffers);
 
-      for (i = 0; i < n_pkts - 8; i++)
+      for (i = 0; i + 8 < n_pkts; i++)
        {
          clib_prefetch_load (desc_data[i + 8]);
          clib_prefetch_store (buffer_ptrs[i + 8]->data);
@@ -574,7 +574,7 @@ memif_device_input_inline (vlib_main_t *vm, vlib_node_runtime_t *node,
       u32 n_pkts = vec_len (ptd->copy_ops);
       co = ptd->copy_ops;
 
-      for (i = 0; i < n_pkts - 8; i++)
+      for (i = 0; i + 8 < n_pkts; i++)
        {
          clib_prefetch_load (co[i + 8].data);
          b = vlib_get_buffer (vm, ptd->buffers[co[i].buffer_vec_index]);