
/dev/null should not be passed as source dev for cdrom device. This patch verifies that source dev only has non null and non /dev/null values for cdrom device. Signed-off-by: Sharad Mishra <snmishra@us.ibm.com> diff --git a/libxkutil/xmlgen.c b/libxkutil/xmlgen.c index 343dc9e..ee20895 100644 --- a/libxkutil/xmlgen.c +++ b/libxkutil/xmlgen.c @@ -65,10 +65,12 @@ static char *disk_block_xml(xmlNodePtr root, struct disk_device *dev) xmlNewProp(tmp, BAD_CAST "cache", BAD_CAST dev-> cache); } - tmp = xmlNewChild(disk, NULL, BAD_CAST "source", NULL); - if (tmp == NULL) - return XML_ERROR; - xmlNewProp(tmp, BAD_CAST "dev", BAD_CAST dev->source); + if ((dev->source != NULL) && (!XSTREQ(dev->source, "/dev/null"))) { + tmp = xmlNewChild(disk, NULL, BAD_CAST "source", NULL); + if (tmp == NULL) + return XML_ERROR; + xmlNewProp(tmp, BAD_CAST "dev", BAD_CAST dev->source); + } tmp = xmlNewChild(disk, NULL, BAD_CAST "target", NULL); if (tmp == NULL)