[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 19/19] qemu-char: Fix legacy chardev syntax error re
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH 19/19] qemu-char: Fix legacy chardev syntax error reporting |
Date: |
Tue, 7 Feb 2012 15:09:26 +0100 |
Watch this:
$ qemu-system-x86_64 -nodefaults -vnc :0 -debugcon crap
$ echo $?
1
$ qemu-system-x86_64 -nodefaults -vnc :0 -serial crap
qemu: could not open serial device 'crap': Success
Two issues:
1. qemu_chr_new() fails silently on syntax errors. It does report
other errors.
2. serial_parse() incorrectly asumes qemu_chr_new() sets errno on
failure. Same for parallel_parse() and virtcon_parse().
Fix both of them.
Signed-off-by: Markus Armbruster <address@hidden>
---
qemu-char.c | 4 +++-
vl.c | 6 ------
2 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/qemu-char.c b/qemu-char.c
index fe0cfce..c74babb 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -2867,8 +2867,10 @@ CharDriverState *qemu_chr_new(const char *label, const
char *filename, void (*in
}
opts = qemu_chr_parse_compat(label, filename);
- if (!opts)
+ if (!opts) {
+ error_report("parse error");
return NULL;
+ }
chr = qemu_chr_new_from_opts(opts, init);
if (chr && qemu_opt_get_bool(opts, "mux", 0)) {
diff --git a/vl.c b/vl.c
index 1394a08..941fab0 100644
--- a/vl.c
+++ b/vl.c
@@ -1907,8 +1907,6 @@ static int serial_parse(const char *devname)
snprintf(label, sizeof(label), "serial%d", index);
serial_hds[index] = qemu_chr_new(label, devname, NULL);
if (!serial_hds[index]) {
- fprintf(stderr, "qemu: could not open serial device '%s': %s\n",
- devname, strerror(errno));
return -1;
}
index++;
@@ -1929,8 +1927,6 @@ static int parallel_parse(const char *devname)
snprintf(label, sizeof(label), "parallel%d", index);
parallel_hds[index] = qemu_chr_new(label, devname, NULL);
if (!parallel_hds[index]) {
- fprintf(stderr, "qemu: could not open parallel device '%s': %s\n",
- devname, strerror(errno));
return -1;
}
index++;
@@ -1960,8 +1956,6 @@ static int virtcon_parse(const char *devname)
snprintf(label, sizeof(label), "virtcon%d", index);
virtcon_hds[index] = qemu_chr_new(label, devname, NULL);
if (!virtcon_hds[index]) {
- fprintf(stderr, "qemu: could not open virtio console '%s': %s\n",
- devname, strerror(errno));
return -1;
}
qemu_opt_set(dev_opts, "chardev", label);
--
1.7.6.5
- Re: [Qemu-devel] [PATCH 10/19] qemu-char: Chardev open error reporting, !_WIN32 part, (continued)
- Re: [Qemu-devel] [PATCH 10/19] qemu-char: Chardev open error reporting, !_WIN32 part, Markus Armbruster, 2012/02/09
- Re: [Qemu-devel] [PATCH 10/19] qemu-char: Chardev open error reporting, !_WIN32 part, Kevin Wolf, 2012/02/09
- Re: [Qemu-devel] [PATCH 10/19] qemu-char: Chardev open error reporting, !_WIN32 part, Markus Armbruster, 2012/02/09
- Re: [Qemu-devel] [PATCH 10/19] qemu-char: Chardev open error reporting, !_WIN32 part, Luiz Capitulino, 2012/02/09
- Re: [Qemu-devel] [PATCH 10/19] qemu-char: Chardev open error reporting, !_WIN32 part, Markus Armbruster, 2012/02/09
[Qemu-devel] [PATCH 03/19] qemu-char: Re-apply style fixes from just reverted aad04cd0, Markus Armbruster, 2012/02/07
[Qemu-devel] [PATCH 17/19] baum: Chardev open error reporting, braille part, Markus Armbruster, 2012/02/07
[Qemu-devel] [PATCH 11/19] qemu-char: Chardev open error reporting, _WIN32 part, Markus Armbruster, 2012/02/07
[Qemu-devel] [PATCH 15/19] console: Chardev open error reporting, console part, Markus Armbruster, 2012/02/07
[Qemu-devel] [PATCH 19/19] qemu-char: Fix legacy chardev syntax error reporting,
Markus Armbruster <=
[Qemu-devel] [PATCH 18/19] qemu-char: Chardev open error reporting, generic part, Markus Armbruster, 2012/02/07
Re: [Qemu-devel] [PATCH 00/19] Fix and improve chardev open error messages, Kevin Wolf, 2012/02/07
Re: [Qemu-devel] [PATCH 00/19] Fix and improve chardev open error messages, Anthony Liguori, 2012/02/24