[libvirt] [PATCHv1.5 17/27] snapshot: conf: Fix NULL dereference when <driver> element is empty

Eric Blake eblake at redhat.com
Mon Dec 2 22:59:37 UTC 2013


On 11/27/2013 04:15 AM, Michal Privoznik wrote:
> On 26.11.2013 17:48, Peter Krempa wrote:
>> Consider the following valid snapshot XML as the <driver> element is
>> allowed to be empty in the domainsnapshot.rng schema:
>>
>> $ cat snap.xml
>> <domainsnapshot>
>>   <disks>
>>     <disk name='vda' snapshot='external'>
>>       <source file='/tmp/foo'/>
>>       <driver/>
>>     </disk>
>>   </disks>
>> </domainsnapshot>
>>
>> produces the following error:
>>
>> $ virsh snapshot-create domain snap.xml
>> error: internal error: unknown disk snapshot driver '(null)'
>>
>> The driver type is parsed as NULL from the XML as the attribute is not
>> present and then directly used to produce the error message.
>>
>> With this patch the attempt to parse the driver type is skipped if not
>> present to avoid changing the schema to forbid the empty driver element.
>> ---
>>  src/conf/snapshot_conf.c | 16 +++++++++-------
>>  1 file changed, 9 insertions(+), 7 deletions(-)

Shouldn't we add this example somewhere in the tests/ subdirectory to
ensure we don't regress?

> 
> ACK and worth backporting on *-maint branches.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20131202/426b3ccc/attachment-0001.sig>


More information about the libvir-list mailing list