• Y
    Fix segmentation fault when accessing default qemu machine type · 72953074
    Yudai Yamagish 提交于
    This patch fixes a segmentation fault when creating new virtual machines using QEMU.
    The segmentation fault is caused by commit f4183068
    and commit cbb6ec42.
    
    In virQEMUCapsProbeQMPMachineTypes, when copying machines to qemuCaps, "none" is skipped.
    Therefore, the value of i and "qemuCaps->nmachineTypes - 1" do not always match.
    However, defIdx value (used to call virQEMUCapsSetDefaultMachine) is set using the value in i
    when the array elements are in qemuCaps->nmachineTypes - 1.
    So, when libvirt tries to create virtual machines using the default machine type,
    qemuCaps->machineTypes[defIdx] is accessed and since the defIdx is NULL, it results in segmentation fault.
    Signed-off-by: NYudai Yamagishi <yummy@sfc.wide.ad.jp>
    Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
    72953074
qemu_capabilities.c 86.2 KB