On 10/25/2012 04:39 PM, Peter Krempa wrote: > On 10/25/12 22:34, Laine Stump wrote: >> On 10/25/2012 11:18 AM, Peter Krempa wrote: >>> When there's no new definition the helper overwrote the old one with >>> NULL. >>> --- >>> src/conf/network_conf.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c >>> index 8976f2a..93d1b4c 100644 >>> --- a/src/conf/network_conf.c >>> +++ b/src/conf/network_conf.c >>> @@ -359,7 +359,7 @@ virNetworkObjSetDefTransient(virNetworkObjPtr >>> network, bool live) >>> void >>> virNetworkObjUnsetDefTransient(virNetworkObjPtr network) >>> { >>> - if (network->def) { >>> + if (network->newDef) { >>> virNetworkDefFree(network->def); >>> network->def = network->newDef; >>> network->newDef = NULL; >> >> Yes. ACK. (/raises hand acknowledging the screwup) > > Thanks. > >> >> BTW, although the change is correct, it currently is a NOP: >> >> 1) in the case of a persistent network, but def and newDef are always >> non-NULL when this is called, >> 2) in the case of a transient network, when this is called, the very >> next thing that happens is always to delete the entire networkObj. > > In a patch 4/6 of this series, I added code that accesses the > definition right before tne network object is discarded. This caused > segfault of the daemon when I tried to get rid of the dnsmasq and > radvd status files when removing a network completely. Aha! -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list