[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



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;
-- 
1.8.2.1


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]