mirror of
https://github.com/libvirt/libvirt.git
synced 2026-07-29 15:54:48 -05:00
virsh: Resolve Coverity DEADCODE
Since 0766783abb
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: John Ferlan <jferlan@redhat.com>
This commit is contained in:
@@ -428,9 +428,6 @@ cmdNWFilterEdit(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true; goto edit_cleanup;
|
||||
#define EDIT_DEFINE \
|
||||
(nwfilter_edited = virNWFilterDefineXML(ctl->conn, doc_edited))
|
||||
#define EDIT_FREE \
|
||||
if (nwfilter_edited) \
|
||||
virNWFilterFree(nwfilter);
|
||||
#include "virsh-edit.c"
|
||||
|
||||
vshPrint(ctl, _("Network filter %s XML configuration edited.\n"),
|
||||
|
||||
Reference in New Issue
Block a user