[Libvir] PATCH: Do proper URI parsing for QEMU driver

The QEMU driver doesn't cope with URI parameters appended to the end of a path since it is just doing strcmp on the URI. This patch makes it use libxml's URI parsing code Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|

Daniel P. Berrange wrote:
The QEMU driver doesn't cope with URI parameters appended to the end of a path since it is just doing strcmp on the URI. This patch makes it use libxml's URI parsing code
Looks good apart from a mistake in freeing the URI here, where you probably meant to jump to the 'decline' label: + if (uri == NULL || uri->scheme == NULL || uri->path == NULL) + return VIR_DRV_OPEN_DECLINED; and similarly you need to free the uri before here: return VIR_DRV_OPEN_SUCCESS; and then: + decline: + xmlFreeURI(uri); ^^^ if (uri) ^^^ needed I didn't apply the other one yet because my machine's up the spout, so feel free to commit both if you want. Rich. -- Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/ Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 03798903

On Thu, Sep 20, 2007 at 11:23:19PM +0100, Richard W.M. Jones wrote:
Daniel P. Berrange wrote:
The QEMU driver doesn't cope with URI parameters appended to the end of a path since it is just doing strcmp on the URI. This patch makes it use libxml's URI parsing code
Looks good apart from a mistake in freeing the URI here, where you probably meant to jump to the 'decline' label:
+ if (uri == NULL || uri->scheme == NULL || uri->path == NULL) + return VIR_DRV_OPEN_DECLINED;
and similarly you need to free the uri before here:
return VIR_DRV_OPEN_SUCCESS;
Doh, of course I do. Will fix these two bugs & apply both patches. Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|
participants (2)
-
Daniel P. Berrange
-
Richard W.M. Jones