[libvirt] [PATCH] Fix leak of iterator in nwfilter instantiate code

Martin Kletzander mkletzan at redhat.com
Mon Mar 17 12:35:33 UTC 2014


On Mon, Mar 17, 2014 at 11:40:39AM +0000, Daniel P. Berrange wrote:
> The ebiptablesCreateRuleInstanceIterate creates a
> virNWFilterVarCombIterPtr instance and iterates over
> it. Unfortunately in doing so, it discards the original
> pointer. At the end of the method it will thus effectively
> do virNWFilterVarCombIterFree(NULL), which means it will
> leak the iterator.
> 
> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
> ---
>  src/nwfilter/nwfilter_ebiptables_driver.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/src/nwfilter/nwfilter_ebiptables_driver.c b/src/nwfilter/nwfilter_ebiptables_driver.c
> index 57c0476..9dbd3ff 100644
> --- a/src/nwfilter/nwfilter_ebiptables_driver.c
> +++ b/src/nwfilter/nwfilter_ebiptables_driver.c
> @@ -2865,14 +2865,14 @@ ebiptablesCreateRuleInstanceIterate(
>                               virNWFilterRuleInstPtr res)
>  {
>      int rc = 0;
> -    virNWFilterVarCombIterPtr vciter;
> +    virNWFilterVarCombIterPtr vciter, tmp;
>  
>      /* rule->vars holds all the variables names that this rule will access.
>       * iterate over all combinations of the variables' values and instantiate
>       * the filtering rule with each combination.
>       */
> -    vciter = virNWFilterVarCombIterCreate(vars,
> -                                          rule->varAccess, rule->nVarAccess);
> +    tmp = vciter = virNWFilterVarCombIterCreate(vars,
> +                                                rule->varAccess, rule->nVarAccess);

ACK with this line wrapped (too long).

Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140317/96b269da/attachment-0001.sig>


More information about the libvir-list mailing list