]> git.droids-corp.org - dpdk.git/blobdiff - drivers/net/virtio/virtio_user_ethdev.c
net/virtio-user: fix overflow
[dpdk.git] / drivers / net / virtio / virtio_user_ethdev.c
index 0b226ac7ce72715d5f4cdde21a948284d7fac209..7528a168aa71535c281e04077c866f43b3725a6e 100644 (file)
@@ -418,6 +418,13 @@ virtio_user_pmd_probe(const char *name, const char *params)
                goto end;
        }
 
+       if (queues > VIRTIO_MAX_VIRTQUEUE_PAIRS) {
+               PMD_INIT_LOG(ERR, "arg %s %" PRIu64 " exceeds the limit %u",
+                       VIRTIO_USER_ARG_QUEUES_NUM, queues,
+                       VIRTIO_MAX_VIRTQUEUE_PAIRS);
+               goto end;
+       }
+
        eth_dev = virtio_user_eth_dev_alloc(name);
        if (!eth_dev) {
                PMD_INIT_LOG(ERR, "virtio_user fails to alloc device");