
On 03/03/2010 01:57 PM, Eric Blake wrote:
According to Daniel P. Berrange on 3/3/2010 11:48 AM:
The storage backend implementations all presume that the XML parser is validating correctness of the source specification. The check for a source device was lost at some point. This allowed for a potential crash in the disk backend. Re-introduce the sanity check
...
+++ b/src/conf/storage_conf.c @@ -689,6 +689,15 @@ virStoragePoolDefParseXML(xmlXPathContextPtr ctxt) { } }
+ /* If DEVICE is the only source type, then its required */
s/its/it's/
+ if (options->flags == VIR_STORAGE_POOL_SOURCE_DEVICE) { + if (!ret->source.ndevice) { + virStorageReportError(VIR_ERR_XML_ERROR, + "%s", _("missing storage pool source device name")); + goto cleanup; + } + }
ACK.
+1 Dave