From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: Lin Ma <lma@suse.com>, qemu-stable <qemu-stable@nongnu.org>
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 [thread overview]
Message-ID: <1473949316-31264-13-git-send-email-pbonzini@redhat.com> (raw)
In-Reply-To: <1473949316-31264-1-git-send-email-pbonzini@redhat.com>
From: Lin Ma <lma@suse.com>
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 <lma@suse.com>
Cc: qemu-stable <qemu-stable@nongnu.org>
Message-Id: <20160914062250.22226-1-lma@suse.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
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
next prev parent reply other threads:[~2016-09-15 14:24 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-15 14:21 [Qemu-devel] [PULL 00/17] Second batch of misc patches for QEMU 2.8 Paolo Bonzini
2016-09-15 14:21 ` [Qemu-devel] [PULL 01/17] scsi-disk: Cleaning up around tray open state Paolo Bonzini
2016-09-15 14:21 ` [Qemu-devel] [PULL 02/17] virtio-scsi: Don't abort when media is ejected Paolo Bonzini
2016-09-15 14:21 ` [Qemu-devel] [PULL 03/17] scsi: mptsas: use g_new0 to allocate MPTSASRequest object Paolo Bonzini
2016-09-15 14:21 ` [Qemu-devel] [PULL 04/17] cutils: Rewrite x86 buffer zero checking Paolo Bonzini
2016-09-15 14:21 ` [Qemu-devel] [PULL 05/17] Change net/socket.c to use socket_*() functions Paolo Bonzini
2016-09-15 14:21 ` [Qemu-devel] [PULL 06/17] memory: remove memory_region_destructor_rom_device Paolo Bonzini
2016-09-15 14:21 ` [Qemu-devel] [PULL 07/17] scsi: pvscsi: limit process IO loop to ring size Paolo Bonzini
2016-09-15 14:21 ` [Qemu-devel] [PULL 08/17] pc: apic: fix touch LAPIC when irqchip is split Paolo Bonzini
2016-09-15 14:21 ` [Qemu-devel] [PULL 09/17] target-i386: fix ordering of fields in CPUX86State Paolo Bonzini
2016-09-15 14:21 ` [Qemu-devel] [PULL 10/17] linux-user: complete omission of removing uses of strdup Paolo Bonzini
2016-09-15 14:21 ` [Qemu-devel] [PULL 11/17] build-sys: add make 'help' target Paolo Bonzini
2016-09-15 14:21 ` Paolo Bonzini [this message]
2016-09-15 14:21 ` [Qemu-devel] [PULL 13/17] log: fix parsing of multiple trace:PATTERN log args Paolo Bonzini
2016-09-15 14:21 ` [Qemu-devel] [PULL 14/17] target-i386: Fixed syscall posssible segfault Paolo Bonzini
2016-09-15 14:21 ` [Qemu-devel] [PULL 15/17] pc: apic: introduce APIC macro Paolo Bonzini
2016-09-15 14:21 ` [Qemu-devel] [PULL 16/17] kvmvapic: fix state change handler Paolo Bonzini
2016-09-15 14:21 ` [Qemu-devel] [PULL 17/17] pcspk: adding vmstate for save/restore Paolo Bonzini
2016-09-15 15:59 ` [Qemu-devel] [PULL 00/17] Second batch of misc patches for QEMU 2.8 no-reply
2016-09-15 18:12 ` Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1473949316-31264-13-git-send-email-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=lma@suse.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-stable@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).