diff options
author | Jens Freimann | 2019-11-20 16:49:51 +0100 |
---|---|---|
committer | Jason Wang | 2019-11-25 16:30:29 +0100 |
commit | 4d0e59ace29277b2faa5b33c719be9baaa659093 (patch) | |
tree | 2f06876a676669e562e878a9d07b5ead3455d0b0 /hw/net/virtio-net.c | |
parent | net/virtio: fix re-plugging of primary device (diff) | |
download | qemu-4d0e59ace29277b2faa5b33c719be9baaa659093.tar.gz qemu-4d0e59ace29277b2faa5b33c719be9baaa659093.tar.xz qemu-4d0e59ace29277b2faa5b33c719be9baaa659093.zip |
net/virtio: return error when device_opts arg is NULL
This fixes CID 1407222.
Fixes: 9711cd0dfc3f ("net/virtio: add failover support")
Signed-off-by: Jens Freimann <jfreimann@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'hw/net/virtio-net.c')
-rw-r--r-- | hw/net/virtio-net.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 565dea0b93..3c31471026 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -2880,9 +2880,12 @@ static int virtio_net_primary_should_be_hidden(DeviceListener *listener, QemuOpts *device_opts) { VirtIONet *n = container_of(listener, VirtIONet, primary_listener); - bool match_found; - bool hide; + bool match_found = false; + bool hide = false; + if (!device_opts) { + return -1; + } n->primary_device_dict = qemu_opts_to_qdict(device_opts, n->primary_device_dict); if (n->primary_device_dict) { @@ -2890,7 +2893,7 @@ static int virtio_net_primary_should_be_hidden(DeviceListener *listener, n->standby_id = g_strdup(qdict_get_try_str(n->primary_device_dict, "failover_pair_id")); } - if (device_opts && g_strcmp0(n->standby_id, n->netclient_name) == 0) { + if (g_strcmp0(n->standby_id, n->netclient_name) == 0) { match_found = true; } else { match_found = false; |