[libvirt] [PATCH 2/2] nwfilter: Only free inetaddr on virNWFilterIPAddrMapAddIPAddr failure
John Ferlan
jferlan at redhat.com
Fri Sep 29 19:25:42 UTC 2017
[...]
>
> This assumes that virNWFilterIPAddrMapAddIPAddr consumes inetaddr only
> if it returns zero. However in a fraction of the unlikely cases when
> this function call can fail (all of them on OOM), it can consume it even
> though it returns -1 -- if virNWFilterVarValueCreateSimple succeeds,
> but virNWFilterHashTablePut fails.
>
If virNWFilterHashTablePut fails in virNWFilterIPAddrMapAddIPAddr, then
it calls virNWFilterVarValueFree which will VIR_FREE the value that was
stored in @val which is returned from virNWFilterVarValueCreateSimple.
I still hate the nwfilter code.
John
>> }
>>
>> ret = virNWFilterInstantiateFilterLate(req->driver,
>> @@ -637,7 +639,8 @@ learnIPAddressThread(void *arg)
>> req->filterparams);
>> VIR_DEBUG("Result from applying firewall rules on "
>> "%s with IP addr %s : %d", req->ifname,
>> inetaddr, ret);
[...]
More information about the libvir-list
mailing list