qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] qdev-monitor: fix segmentation fault on qdev_device_help()
@ 2014-09-16  2:19 arei.gonglei
  2014-09-16  7:28 ` Markus Armbruster
  2014-09-16 10:25 ` Stefan Hajnoczi
  0 siblings, 2 replies; 8+ messages in thread
From: arei.gonglei @ 2014-09-16  2:19 UTC (permalink / raw)
  To: qemu-devel
  Cc: weidong.huang, peter.huangpeng, armbru, Gonglei, stefanha,
	imammedo, lcapitulino, afaerber

From: Gonglei <arei.gonglei@huawei.com>

Normally, qmp_device_list_properties() may return NULL when
a device haven't special properties excpet Object and DeviceState
properties, such as virtio-balloon-device.

We just need check local_err instead of prop_list.

Example:

Segmentation fault (core dumped)

The backtrace as below:

Program received signal SIGSEGV, Segmentation fault.
0x00005555559af1a8 in error_get_pretty (err=0x0) at util/error.c:152
152         return err->msg;
(gdb) bt
#0  0x00005555559af1a8 in error_get_pretty (err=0x0) at util/error.c:152
#1  0x000055555572fce9 in qdev_device_help (opts=0x5555562fdfe0) at qdev-monitor.c:210
#2  0x000055555574a6f2 in device_help_func (opts=0x5555562fdfe0, opaque=0x0) at vl.c:2362
#3  0x00005555559c0a33 in qemu_opts_foreach (list=0x555555dd0b40 <qemu_device_opts>, 
    func=0x55555574a6ca <device_help_func>, opaque=0x0, abort_on_failure=0) at util/qemu-option.c:1072
#4  0x000055555574f514 in main (argc=3, argv=0x7fffffffe218, envp=0x7fffffffe238) at vl.c:4246

Signed-off-by: Gonglei <arei.gonglei@huawei.com>
---
 qdev-monitor.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/qdev-monitor.c b/qdev-monitor.c
index fb9ee24..5ec6606 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -206,7 +206,7 @@ int qdev_device_help(QemuOpts *opts)
     }
 
     prop_list = qmp_device_list_properties(driver, &local_err);
-    if (!prop_list) {
+    if (local_err) {
         error_printf("%s\n", error_get_pretty(local_err));
         error_free(local_err);
         return 1;
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-09-17 10:07 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-16  2:19 [Qemu-devel] [PATCH] qdev-monitor: fix segmentation fault on qdev_device_help() arei.gonglei
2014-09-16  7:28 ` Markus Armbruster
2014-09-16  7:38   ` Gonglei (Arei)
2014-09-16  7:59     ` Markus Armbruster
2014-09-16  8:06       ` Gonglei (Arei)
2014-09-17  9:17       ` Gonglei (Arei)
2014-09-17 10:06         ` Markus Armbruster
2014-09-16 10:25 ` Stefan Hajnoczi

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).