[libvirt] [PATCH] conf: fix no error when set an unsupport string in ./devices/shmem/msi[@ioeventfd]

Luyao Huang lhuang at redhat.com
Mon May 11 08:03:19 UTC 2015


https://bugzilla.redhat.com/show_bug.cgi?id=1220265

Pass the return value to an enum directly is not safe.
When pass a invalid @ioeventfd and virTristateSwitchTypeFromString
return -1 to def->msi.ioeventfd, and this value transform to
4294967295, so no error when the parse failed.

Instead of define a int variable in virDomainShmemDefParseXML and
use the new defined variable as transition variable. I think
define ioeventfd as an 'int' variable will be better.

Signed-off-by: Luyao Huang <lhuang at redhat.com>
---
 src/conf/domain_conf.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 087d282..fea9baa 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -1610,7 +1610,7 @@ struct _virDomainShmemDef {
     struct {
         bool enabled;
         unsigned vectors;
-        virTristateSwitch ioeventfd;
+        int ioeventfd; /* enum virTristateSwitch */
     } msi;
     virDomainDeviceInfo info;
 };
-- 
1.8.3.1




More information about the libvir-list mailing list