[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-trivial] [PULL 13/14] filter-mirror: segfault when specifying non
From: |
Michael Tokarev |
Subject: |
[Qemu-trivial] [PULL 13/14] filter-mirror: segfault when specifying non existent device |
Date: |
Mon, 16 Oct 2017 23:33:40 +0300 |
From: Eduardo Otubo <address@hidden>
When using filter-mirror like the example below where the interface
'ndev0' does not exist on the host, QEMU crashes into segmentation
fault.
$ qemu-system-x86_64 -S -machine pc -netdev user,id=ndev0 -object
filter-mirror,id=test-object,netdev=ndev0
This happens because the function filter_mirror_setup() does not check
if the device actually exists and still keep on processing calling
qemu_chr_find(). This patch fixes this issue.
Signed-off-by: Eduardo Otubo <address@hidden>
Signed-off-by: Michael Tokarev <address@hidden>
---
net/filter-mirror.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/net/filter-mirror.c b/net/filter-mirror.c
index 90e2c92337..ce0dc23c2a 100644
--- a/net/filter-mirror.c
+++ b/net/filter-mirror.c
@@ -213,6 +213,12 @@ static void filter_mirror_setup(NetFilterState *nf, Error
**errp)
MirrorState *s = FILTER_MIRROR(nf);
Chardev *chr;
+ if (s->outdev == NULL) {
+ error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND, "filter-mirror
parameter"\
+ " 'outdev' cannot be empty");
+ return;
+ }
+
chr = qemu_chr_find(s->outdev);
if (chr == NULL) {
error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
--
2.11.0
- [Qemu-trivial] [PULL 00/14] Trivial patches for 2017-10-16, Michael Tokarev, 2017/10/16
- [Qemu-trivial] [PULL 09/14] include/hw/or-irq.h: Drop unused in_irqs field, Michael Tokarev, 2017/10/16
- [Qemu-trivial] [PULL 06/14] linux-user: Add some random ioctls, Michael Tokarev, 2017/10/16
- [Qemu-trivial] [PULL 03/14] gitignore: ignore check-qlit test, Michael Tokarev, 2017/10/16
- [Qemu-trivial] [PULL 08/14] io: Add missing GCC_FMT_ATTR (fix -Werror=suggest-attribute=format), Michael Tokarev, 2017/10/16
- [Qemu-trivial] [PULL 02/14] linux-user: remove duplicate break in syscall, Michael Tokarev, 2017/10/16
- [Qemu-trivial] [PULL 10/14] MAINTAINERS: Clean up SCSI device section, Michael Tokarev, 2017/10/16
- [Qemu-trivial] [PULL 07/14] os-posix: Drop misleading comment, Michael Tokarev, 2017/10/16
- [Qemu-trivial] [PULL 13/14] filter-mirror: segfault when specifying non existent device,
Michael Tokarev <=
- [Qemu-trivial] [PULL 11/14] MAINTAINERS: Fix Sun4v file, Michael Tokarev, 2017/10/16
- [Qemu-trivial] [PULL 14/14] Add myself as maintainer for TPM code, Michael Tokarev, 2017/10/16
- [Qemu-trivial] [PULL 12/14] MAINTAINERS: Track default-configs/pci.mak, Michael Tokarev, 2017/10/16
- [Qemu-trivial] [PULL 05/14] futex: add missing header guards, Michael Tokarev, 2017/10/16
- [Qemu-trivial] [PULL 01/14] qemu-doc.texi: remove trailing whitespace, Michael Tokarev, 2017/10/16
- [Qemu-trivial] [PULL 04/14] ui/gtk: Fix deprecation of vte_terminal_copy_clipboard, Michael Tokarev, 2017/10/16
- Re: [Qemu-trivial] [Qemu-devel] [PULL 00/14] Trivial patches for 2017-10-16, Peter Maydell, 2017/10/17