pci: fix coverity issue CID-322372
[vpp.git] / src / vlib / pci / pci.c
index b6a9416..1845a62 100644 (file)
@@ -176,6 +176,9 @@ vlib_pci_function_level_reset (vlib_main_t *vm, vlib_pci_dev_handle_t h)
     return err;
 
   offset = cfg.cap_ptr;
+  /* Make gcc happy, otherwise gcc fails build due to cap not set if offset ==
+   * 0 */
+  cap = (pci_capability_pcie_t *) (cfg.data + offset);
 
   while (offset)
     {
@@ -299,7 +302,7 @@ _vlib_pci_link_speed (u8 *s, u8 speed, u8 width)
     [1] = "2.5", [2] = "5.0", [3] = "8.0", [4] = "16.0", [5] = "32.0"
   };
 
-  if (speed > ARRAY_LEN (speeds) || speeds[speed] == 0)
+  if (speed >= ARRAY_LEN (speeds) || speeds[speed] == 0)
     s = format (s, "unknown speed");
   else
     s = format (s, "%s GT/s", speeds[speed]);
@@ -410,4 +413,3 @@ VLIB_CLI_COMMAND (show_pci_command, static) = {
   .short_help = "show pci [all]",
   .function = show_pci_fn,
 };
-