[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 12/17] qemu-char: avoid segfault if user lacks of per
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 12/17] qemu-char: avoid segfault if user lacks of permisson of a given logfile |
Date: |
Thu, 15 Sep 2016 16:21:51 +0200 |
From: Lin Ma <address@hidden>
Function qemu_chr_alloc returns NULL if it failed to open logfile by any reason,
says no write permission. For backends tty, stdio and msmouse, They need to
check this return value to avoid segfault in this case.
Signed-off-by: Lin Ma <address@hidden>
Cc: qemu-stable <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
backends/msmouse.c | 3 +++
qemu-char.c | 6 ++++++
2 files changed, 9 insertions(+)
diff --git a/backends/msmouse.c b/backends/msmouse.c
index aeb9055..aceb6dc 100644
--- a/backends/msmouse.c
+++ b/backends/msmouse.c
@@ -159,6 +159,9 @@ static CharDriverState *qemu_chr_open_msmouse(const char
*id,
CharDriverState *chr;
chr = qemu_chr_alloc(common, errp);
+ if (!chr) {
+ return NULL;
+ }
chr->chr_write = msmouse_chr_write;
chr->chr_close = msmouse_chr_close;
chr->chr_accept_input = msmouse_chr_accept_input;
diff --git a/qemu-char.c b/qemu-char.c
index 7fa87a8..8826419 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -1230,6 +1230,9 @@ static CharDriverState *qemu_chr_open_stdio(const char
*id,
sigaction(SIGCONT, &act, NULL);
chr = qemu_chr_open_fd(0, 1, common, errp);
+ if (!chr) {
+ return NULL;
+ }
chr->chr_close = qemu_chr_close_stdio;
chr->chr_set_echo = qemu_chr_set_echo_stdio;
if (opts->has_signal) {
@@ -1686,6 +1689,9 @@ static CharDriverState *qemu_chr_open_tty_fd(int fd,
tty_serial_init(fd, 115200, 'N', 8, 1);
chr = qemu_chr_open_fd(fd, fd, backend, errp);
+ if (!chr) {
+ return NULL;
+ }
chr->chr_ioctl = tty_serial_ioctl;
chr->chr_close = qemu_chr_close_tty;
return chr;
--
1.8.3.1
- [Qemu-devel] [PULL 03/17] scsi: mptsas: use g_new0 to allocate MPTSASRequest object, (continued)
- [Qemu-devel] [PULL 03/17] scsi: mptsas: use g_new0 to allocate MPTSASRequest object, Paolo Bonzini, 2016/09/15
- [Qemu-devel] [PULL 02/17] virtio-scsi: Don't abort when media is ejected, Paolo Bonzini, 2016/09/15
- [Qemu-devel] [PULL 04/17] cutils: Rewrite x86 buffer zero checking, Paolo Bonzini, 2016/09/15
- [Qemu-devel] [PULL 05/17] Change net/socket.c to use socket_*() functions, Paolo Bonzini, 2016/09/15
- [Qemu-devel] [PULL 06/17] memory: remove memory_region_destructor_rom_device, Paolo Bonzini, 2016/09/15
- [Qemu-devel] [PULL 07/17] scsi: pvscsi: limit process IO loop to ring size, Paolo Bonzini, 2016/09/15
- [Qemu-devel] [PULL 08/17] pc: apic: fix touch LAPIC when irqchip is split, Paolo Bonzini, 2016/09/15
- [Qemu-devel] [PULL 09/17] target-i386: fix ordering of fields in CPUX86State, Paolo Bonzini, 2016/09/15
- [Qemu-devel] [PULL 10/17] linux-user: complete omission of removing uses of strdup, Paolo Bonzini, 2016/09/15
- [Qemu-devel] [PULL 11/17] build-sys: add make 'help' target, Paolo Bonzini, 2016/09/15
- [Qemu-devel] [PULL 12/17] qemu-char: avoid segfault if user lacks of permisson of a given logfile,
Paolo Bonzini <=
- [Qemu-devel] [PULL 13/17] log: fix parsing of multiple trace:PATTERN log args, Paolo Bonzini, 2016/09/15
- [Qemu-devel] [PULL 14/17] target-i386: Fixed syscall posssible segfault, Paolo Bonzini, 2016/09/15
- [Qemu-devel] [PULL 15/17] pc: apic: introduce APIC macro, Paolo Bonzini, 2016/09/15
- [Qemu-devel] [PULL 16/17] kvmvapic: fix state change handler, Paolo Bonzini, 2016/09/15
- [Qemu-devel] [PULL 17/17] pcspk: adding vmstate for save/restore, Paolo Bonzini, 2016/09/15
- Re: [Qemu-devel] [PULL 00/17] Second batch of misc patches for QEMU 2.8, no-reply, 2016/09/15
- Re: [Qemu-devel] [PULL 00/17] Second batch of misc patches for QEMU 2.8, Peter Maydell, 2016/09/15