]> git.proxmox.com Git - mirror_qemu.git/commit - net/filter.c
net: filter: correctly remove filter from the list during finalization
authorJason Wang <jasowang@redhat.com>
Mon, 15 Feb 2016 04:52:34 +0000 (12:52 +0800)
committerJason Wang <jasowang@redhat.com>
Tue, 8 Mar 2016 07:34:09 +0000 (15:34 +0800)
commit5dd2d45e344b50b018912b6d98ab47493f946eb6
tree5e12eece82540693128f76977c61dfd3297aed7f
parent415ab35a441eca767d033a2702223e785b9d5190
net: filter: correctly remove filter from the list during finalization

Qemu may crash when we want to add two filters on the same netdev but
the initialization of second fails (e.g missing parameters):

./qemu-system-x86_64 -netdev user,id=un0 \
 -object filter-buffer,id=f0,netdev=un0,interval=10 \
 -object filter-buffer,id=f1,netdev=un0
Segmentation fault (core dumped)

This is because we don't check whether or not the filter was in the
list of netdev. This patch fixes this.

Cc: Yang Hongyang <hongyang.yang@easystack.cn>
Reviewed-by: Yang Hongyang <hongyang.yang@easystack.cn>
Signed-off-by: Jason Wang <jasowang@redhat.com>
net/filter.c