[libvirt] [PATCH 2/3] virNWFilterHashTablePut: Free the correct variable

Osier Yang jyang at redhat.com
Thu May 23 14:21:05 UTC 2013


On 23/05/13 22:05, Michal Privoznik wrote:
> In bf1fe848 I've introduced 'newName' variable to substitute the old
> 'const char *name' as previously we had an ugly code there:
>
>    name = strdup(name);
>
> However, some parts of the function were not updated, so they were still
> calling VIR_FREE(name) instead of VIR_FREE(newName).
> ---
>   src/conf/nwfilter_params.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/src/conf/nwfilter_params.c b/src/conf/nwfilter_params.c
> index ac5f7ed..48b89b7 100644
> --- a/src/conf/nwfilter_params.c
> +++ b/src/conf/nwfilter_params.c
> @@ -647,13 +647,13 @@ virNWFilterHashTablePut(virNWFilterHashTablePtr table,
>                           int copyName)
>   {
>       if (!virHashLookup(table->hashTable, name)) {
> +        char *newName;
>           if (copyName) {
> -            char *newName;
>               if (VIR_STRDUP(newName, name) < 0)
>                   return -1;
>   
>               if (VIR_REALLOC_N(table->names, table->nNames + 1) < 0) {
> -                VIR_FREE(name);
> +                VIR_FREE(newName);
>                   return -1;
>               }
>               table->names[table->nNames++] = newName;
> @@ -661,7 +661,7 @@ virNWFilterHashTablePut(virNWFilterHashTablePtr table,
>   
>           if (virHashAddEntry(table->hashTable, name, val) < 0) {
>               if (copyName) {
> -                VIR_FREE(name);
> +                VIR_FREE(newName);
>                   table->nNames--;
>               }
>               return -1;
ACK.




More information about the libvir-list mailing list