vlib: fix coverity warning
[vpp.git] / src / vlib / linux / pci.c
index d968fe2..9f0629f 100644 (file)
@@ -348,7 +348,7 @@ vlib_pci_get_device_info (vlib_main_t * vm, vlib_pci_addr_t * addr,
            break;
 
          len = (tag[2] << 8) | tag[1];
-         vec_alloc (data, len);
+         vec_validate (data, len - 1);
 
          if (read (fd, data, len) != len)
            {
@@ -389,8 +389,8 @@ vlib_pci_get_device_root_bus (vlib_pci_addr_t *addr, vlib_pci_addr_t *root_bus)
 {
   u8 *rel_path = 0, *abs_path = 0, *link_path = 0;
   unformat_input_t input;
-  u32 fd = open (sysfs_pci_dev_path, O_RDONLY);
-  u32 size = 0;
+  int fd = open (sysfs_pci_dev_path, O_RDONLY);
+  ssize_t size = 0;
   u32 domain = 0, bus;
   clib_error_t *err = NULL;
 
@@ -1192,7 +1192,6 @@ vlib_pci_map_region_int (vlib_main_t * vm, vlib_pci_dev_handle_t h,
   linux_pci_device_t *p = linux_pci_get_device (h);
   int fd = -1;
   clib_error_t *error;
-  int flags = MAP_SHARED;
   u64 size = 0, offset = 0;
   u16 command;
 
@@ -1212,9 +1211,6 @@ vlib_pci_map_region_int (vlib_main_t * vm, vlib_pci_dev_handle_t h,
   if ((error = vlib_pci_region (vm, h, bar, &fd, &size, &offset)))
     return error;
 
-  if (p->type == LINUX_PCI_DEVICE_TYPE_UIO && addr != 0)
-    flags |= MAP_FIXED;
-
   *result = clib_mem_vm_map_shared (addr, size, fd, offset,
                                    "PCIe %U region %u", format_vlib_pci_addr,
                                    vlib_pci_get_addr (vm, h), bar);