New upstream version 18.11.2
[deb_dpdk.git] / lib / librte_vhost / vdpa.c
index e7d849e..f560419 100644 (file)
@@ -49,7 +49,7 @@ rte_vdpa_register_device(struct rte_vdpa_dev_addr *addr,
        char device_name[MAX_VDPA_NAME_LEN];
        int i;
 
-       if (vdpa_device_num >= MAX_VHOST_DEVICE)
+       if (vdpa_device_num >= MAX_VHOST_DEVICE || addr == NULL || ops == NULL)
                return -1;
 
        for (i = 0; i < MAX_VHOST_DEVICE; i++) {
@@ -66,7 +66,7 @@ rte_vdpa_register_device(struct rte_vdpa_dev_addr *addr,
        if (i == MAX_VHOST_DEVICE)
                return -1;
 
-       sprintf(device_name, "vdpa-dev-%d", i);
+       snprintf(device_name, sizeof(device_name), "vdpa-dev-%d", i);
        dev = rte_zmalloc(device_name, sizeof(struct rte_vdpa_device),
                        RTE_CACHE_LINE_SIZE);
        if (!dev)
@@ -99,6 +99,9 @@ rte_vdpa_find_device_id(struct rte_vdpa_dev_addr *addr)
        struct rte_vdpa_device *dev;
        int i;
 
+       if (addr == NULL)
+               return -1;
+
        for (i = 0; i < MAX_VHOST_DEVICE; ++i) {
                dev = vdpa_devices[i];
                if (dev && is_same_vdpa_device(&dev->addr, addr))