On 09/05/14 00:26, John Ferlan wrote: > Since 0766783abbe8bbc9ea686c2c3149f4c0ac139e19 > > 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@xxxxxxxxxx> > --- > tools/virsh-domain.c | 5 ----- > tools/virsh-edit.c | 9 --------- > tools/virsh-interface.c | 3 --- > tools/virsh-network.c | 3 --- > tools/virsh-nwfilter.c | 3 --- > tools/virsh-pool.c | 3 --- > tools/virsh-snapshot.c | 3 --- > 7 files changed, 29 deletions(-) Yep, the free()s in the cleanup section of each command are redundant. ACK
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list