qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 3/5] pseries: Check we have a chardev in spapr_vty_i


From: David Gibson
Subject: [Qemu-devel] [PATCH 3/5] pseries: Check we have a chardev in spapr_vty_init()
Date: Mon, 14 Nov 2011 14:18:59 +1100

From: Michael Ellerman <address@hidden>

If qemu is run like:

 qemu-system-ppc64 -nodefaults -device spapr-vty

We end up in spapr_vty_init() with dev->chardev == NULL. Currently
that leads to a segfault because we unconditionally call
qemu_chr_add_handlers().

Although we could make that call conditional, I think a spapr-vty
without a chardev is basically useless so fail the init. This is
similar to what the serial code does for example.

Signed-off-by: Michael Ellerman <address@hidden>
Signed-off-by: David Gibson <address@hidden>
---
 hw/spapr_vty.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/hw/spapr_vty.c b/hw/spapr_vty.c
index a9d4b03..f4f3ee3 100644
--- a/hw/spapr_vty.c
+++ b/hw/spapr_vty.c
@@ -58,6 +58,11 @@ static int spapr_vty_init(VIOsPAPRDevice *sdev)
 {
     VIOsPAPRVTYDevice *dev = (VIOsPAPRVTYDevice *)sdev;
 
+    if (!dev->chardev) {
+        fprintf(stderr, "spapr-vty: Can't create vty without a chardev!\n");
+        exit(1);
+    }
+
     qemu_chr_add_handlers(dev->chardev, vty_can_receive,
                           vty_receive, NULL, dev);
 
-- 
1.7.7.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]