/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)