]> git.ipfire.org Git - thirdparty/libvirt.git/commit
conf: fix crash when hotplug a channel chr device with no target
authorLuyao Huang <lhuang@redhat.com>
Tue, 13 Jan 2015 08:41:05 +0000 (16:41 +0800)
committerJán Tomko <jtomko@redhat.com>
Thu, 22 Jan 2015 11:37:19 +0000 (12:37 +0100)
commit5443a58d6b033324f191e01d774eeb2cd78c09e0
treee0c54d94613245d2d14bb48ff171d1569102758f
parent12496319a24dd923c5f321c84112fd0e73979413
conf: fix crash when hotplug a channel chr device with no target

https://bugzilla.redhat.com/show_bug.cgi?id=1181408

When we try to hotplug a channel chr device with no target, we
will get success (which should fail) in virDomainChrDefParseXML,
because we use goto cleanup this place and return an incomplete
definition (with no target). In qemuDomainAttachChrDevice,
we add it to the domain definition, but fail to remove it from
there when chardev-add fails, because virDomainChrRemove
matches chardevices according to the target name.
The device definition is then freed in qemuDomainAttachDeviceFlags,
leaving a stale pointer in the domain definition.

Signed-off-by: Luyao Huang <lhuang@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
(cherry picked from commit fba7173f7236c705344aa84bf9715074abdc6ea7)
Signed-off-by: Ján Tomko <jtomko@redhat.com>
src/conf/domain_conf.c