Browse Source

hmp: Fix drive_add ... format=help crash

drive_new() returns null without setting an error when it provided
help.  add_init_drive() assumes null means failure, and crashes trying
to report a null error.

Fixes: c4f26c9f37
Cc: qemu-stable@nongnu.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
tags/v4.0.0-rc3
Markus Armbruster 2 months ago
parent
commit
ab63817119
2 changed files with 2 additions and 1 deletions
  1. 1
    1
      device-hotplug.c
  2. 1
    0
      tests/test-hmp.c

+ 1
- 1
device-hotplug.c View File

@@ -48,7 +48,7 @@ static DriveInfo *add_init_drive(const char *optstr)
48 48
 
49 49
     mc = MACHINE_GET_CLASS(current_machine);
50 50
     dinfo = drive_new(opts, mc->block_default_type, &err);
51
-    if (!dinfo) {
51
+    if (err) {
52 52
         error_report_err(err);
53 53
         qemu_opts_del(opts);
54 54
         return NULL;

+ 1
- 0
tests/test-hmp.c View File

@@ -31,6 +31,7 @@ static const char *hmp_cmds[] = {
31 31
     "cpu 0",
32 32
     "device_add ?",
33 33
     "device_add usb-mouse,id=mouse1",
34
+    "drive_add ignored format=help",
34 35
     "mouse_button 7",
35 36
     "mouse_move 10 10",
36 37
     "mouse_button 0",

Loading…
Cancel
Save