• J
    virsh: Resolve Coverity DEADCODE · daf27d4d
    John Ferlan 提交于
    Since 0766783a
    
    Coverity complains that the EDIT_FREE definition results in DEADCODE.
    
    As it turns out with the change to use the EDIT_FREE macro the call to
    vir*Free() wouldn't be necessary nor would it happen...
    
    Prior code to above commitid would :
    
      vir*Ptr foo = NULL;
      ...
      foo = vir*GetXMLDesc()
      ...
      vir*Free(foo);
      foo = vir*DefineXML()
      ...
    
    And thus the free was needed.  With the change to use EDIT_FREE the
    same code changed to:
    
      vir*Ptr foo = NULL;
      vir*Ptr foo_edited = NULL;
      ...
      foo = vir*GetXMLDesc()
      ...
      if (foo_edited)
          vir*Free(foo_edited);
      foo_edited = vir*DefineXML()
      ...
    
    However, foo_edited could never be set in the code path - even with
    all the goto's since the only way for it to be set is if vir*DefineXML()
    succeeds in which case the code to allow a retry (and thus all the goto's)
    never leaves foo_edited set
    
    All error paths lead to "cleanup:" which causes both foo and foo_edited
    to call the respective vir*Free() routines if set.
    Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
    daf27d4d
virsh-domain.c 340.6 KB