[PATCH v1 15/18] use VIR_AUTOFREE in src/util/virconf.c

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

 



Modify code to use VIR_AUTOFREE macro wherever required.

Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@xxxxxxxxx>
---
 src/util/virconf.c | 42 ++++++++++++------------------------------
 1 file changed, 12 insertions(+), 30 deletions(-)

diff --git a/src/util/virconf.c b/src/util/virconf.c
index e0a3fd1..7dd8820 100644
--- a/src/util/virconf.c
+++ b/src/util/virconf.c
@@ -745,9 +745,8 @@ virConfParse(const char *filename, const char *content, int len,
 virConfPtr
 virConfReadFile(const char *filename, unsigned int flags)
 {
-    char *content;
+    VIR_AUTOFREE(char *) content = NULL;
     int len;
-    virConfPtr conf;
 
     VIR_DEBUG("filename=%s", NULLSTR(filename));
 
@@ -759,11 +758,7 @@ virConfReadFile(const char *filename, unsigned int flags)
     if ((len = virFileReadAll(filename, MAX_CONFIG_FILE_SIZE, &content)) < 0)
         return NULL;
 
-    conf = virConfParse(filename, content, len, flags);
-
-    VIR_FREE(content);
-
-    return conf;
+    return virConfParse(filename, content, len, flags);
 }
 
 /**
@@ -1451,7 +1446,7 @@ virConfWriteFile(const char *filename, virConfPtr conf)
     virConfEntryPtr cur;
     int ret;
     int fd;
-    char *content;
+    VIR_AUTOFREE(char *) content = NULL;
     unsigned int use;
 
     if (conf == NULL)
@@ -1476,7 +1471,6 @@ virConfWriteFile(const char *filename, virConfPtr conf)
     use = virBufferUse(&buf);
     content = virBufferContentAndReset(&buf);
     ret = safewrite(fd, content, use);
-    VIR_FREE(content);
     VIR_FORCE_CLOSE(fd);
     if (ret != (int)use) {
         virConfError(NULL, VIR_ERR_WRITE_FAILED, _("failed to save content"));
@@ -1504,7 +1498,7 @@ virConfWriteMem(char *memory, int *len, virConfPtr conf)
 {
     virBuffer buf = VIR_BUFFER_INITIALIZER;
     virConfEntryPtr cur;
-    char *content;
+    VIR_AUTOFREE(char *) content = NULL;
     unsigned int use;
 
     if ((memory == NULL) || (len == NULL) || (*len <= 0) || (conf == NULL))
@@ -1524,11 +1518,9 @@ virConfWriteMem(char *memory, int *len, virConfPtr conf)
 
     if ((int)use >= *len) {
         *len = (int)use;
-        VIR_FREE(content);
         return -1;
     }
     memcpy(memory, content, use);
-    VIR_FREE(content);
     *len = use;
     return use;
 }
@@ -1542,16 +1534,13 @@ virConfLoadConfigPath(const char *name)
                         SYSCONFDIR, name) < 0)
             return NULL;
     } else {
-        char *userdir = virGetUserConfigDirectory();
+        VIR_AUTOFREE(char *) userdir = virGetUserConfigDirectory();
         if (!userdir)
             return NULL;
 
         if (virAsprintf(&path, "%s/%s",
-                        userdir, name) < 0) {
-            VIR_FREE(userdir);
+                        userdir, name) < 0)
             return NULL;
-        }
-        VIR_FREE(userdir);
     }
 
     return path;
@@ -1560,26 +1549,19 @@ virConfLoadConfigPath(const char *name)
 int
 virConfLoadConfig(virConfPtr *conf, const char *name)
 {
-    char *path = NULL;
-    int ret = -1;
+    VIR_AUTOFREE(char *) path = NULL;
 
     *conf = NULL;
 
     if (!(path = virConfLoadConfigPath(name)))
-        goto cleanup;
+        return -1;
 
-    if (!virFileExists(path)) {
-        ret = 0;
-        goto cleanup;
-    }
+    if (!virFileExists(path))
+        return 0;
 
     VIR_DEBUG("Loading config file '%s'", path);
     if (!(*conf = virConfReadFile(path, 0)))
-        goto cleanup;
-
-    ret = 0;
+        return -1;
 
- cleanup:
-    VIR_FREE(path);
-    return ret;
+    return 0;
 }
-- 
1.8.3.1

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux