On 3/4/21 9:35 AM, Tim Wiederhake wrote:
VIR_DOMAIN_HYPERV_STIMER happens to have the same numerical value as
VIR_DOMAIN_FEATURE_HYPERV, resulting in the if-block to always being
executed when a "<hyperv>" tag is found, whether or not it actually
contained a "<stimer>" tag. This had no ill effects, as virXPathNodeSet()
would simply return 0 if that tag does not exist.

Signed-off-by: Tim Wiederhake <twied...@redhat.com>
---
  src/conf/domain_conf.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 48fd078b90..05b6cb3000 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -18460,7 +18460,7 @@ virDomainFeaturesDefParse(virDomainDefPtr def,
          ctxt->node = node;
      }
- if (def->features[VIR_DOMAIN_HYPERV_STIMER] == VIR_TRISTATE_SWITCH_ON) {
+    if (def->hyperv_features[VIR_DOMAIN_HYPERV_STIMER] == 
VIR_TRISTATE_SWITCH_ON) {
          int value;
          if ((n = virXPathNodeSet("./features/hyperv/stimer/*", ctxt, &nodes)) 
< 0)
              return -1;


Nice catch.

Michal

Reply via email to