summary refs log tree commit diff stats
path: root/net/net.c
diff options
context:
space:
mode:
authorAkihiko Odaki <akihiko.odaki@daynix.com>2024-08-17 16:00:43 +0900
committerJason Wang <jasowang@redhat.com>2024-10-28 14:37:25 +0800
commit76240dd2a37c7b361740616a7d6080beafdb8a71 (patch)
treed4d357ae22f82068ba0f9206479cdb66c61984c0 /net/net.c
parent75fe36b4e8a994cdf9fd6eb601f49e96b1bc791d (diff)
downloadfocaccia-qemu-76240dd2a37c7b361740616a7d6080beafdb8a71.tar.gz
focaccia-qemu-76240dd2a37c7b361740616a7d6080beafdb8a71.zip
net: Check if nc is NULL in qemu_get_vnet_hdr_len()
A netdev may not have a peer specified, resulting in NULL. We should
make it behave like /dev/null in such a case instead of letting it
cause segmentatin fault.

Fixes: 4b52d63249a5 ("tap: Remove qemu_using_vnet_hdr()")
Cc: qemu-stable@nongnu.org
Reported-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Tested-by; Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'net/net.c')
-rw-r--r--net/net.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/net.c b/net/net.c
index d9b23a8f8c..7ef6885876 100644
--- a/net/net.c
+++ b/net/net.c
@@ -542,6 +542,10 @@ void qemu_set_offload(NetClientState *nc, int csum, int tso4, int tso6,
 
 int qemu_get_vnet_hdr_len(NetClientState *nc)
 {
+    if (!nc) {
+        return 0;
+    }
+
     return nc->vnet_hdr_len;
 }