summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucas De Marchi <lucas.demarchi@intel.com>2013-11-14 04:16:16 -0200
committerLucas De Marchi <lucas.demarchi@intel.com>2013-11-18 05:22:33 -0200
commitb93d800640ca4ebe433400abcf743d9521b3f58a (patch)
tree7ae947edc357153626e5b6b3bc7ffc5f62cf460d
parent342e9cea262578ca847678692b2cc73d659434fd (diff)
downloadkmod-b93d800640ca4ebe433400abcf743d9521b3f58a.tar.gz
util: use _cleanup_free_ on path_make_absolute_cwd()
-rw-r--r--libkmod/libkmod-util.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/libkmod/libkmod-util.c b/libkmod/libkmod-util.c
index d686250..837f417 100644
--- a/libkmod/libkmod-util.c
+++ b/libkmod/libkmod-util.c
@@ -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);