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.
Peter