]> git.ipfire.org Git - thirdparty/kmod.git/commitdiff
util: use _cleanup_free_ on path_make_absolute_cwd()
authorLucas De Marchi <lucas.demarchi@intel.com>
Thu, 14 Nov 2013 06:16:16 +0000 (04:16 -0200)
committerLucas De Marchi <lucas.demarchi@intel.com>
Mon, 18 Nov 2013 07:22:33 +0000 (05:22 -0200)
libkmod/libkmod-util.c

index d6862506b2d904c9c4bf0eb70307a2ba40885256..837f417dbd6cc54a9ea7da5fdb837dea38fd43cc 100644 (file)
@@ -283,15 +283,15 @@ bool path_is_absolute(const char *p)
 
 char *path_make_absolute_cwd(const char *p)
 {
-       char *cwd, *r;
-       size_t plen;
-       size_t cwdlen;
+       _cleanup_free_ char *cwd = NULL;
+       size_t plen, cwdlen;
+       char *r;
 
        if (path_is_absolute(p))
                return strdup(p);
 
        cwd = get_current_dir_name();
-       if (cwd == NULL)
+       if (!cwd)
                return NULL;
 
        plen = strlen(p);
@@ -299,11 +299,10 @@ char *path_make_absolute_cwd(const char *p)
 
        /* cwd + '/' + p + '\0' */
        r = realloc(cwd, cwdlen + 1 + plen + 1);
-       if (r == NULL) {
-               free(cwd);
+       if (r == NULL)
                return NULL;
-       }
 
+       cwd = NULL;
        r[cwdlen] = '/';
        memcpy(&r[cwdlen + 1], p, plen + 1);