diff options
author | Alasdair Kergon <agk@redhat.com> | 2006-05-10 16:23:41 +0000 |
---|---|---|
committer | Alasdair Kergon <agk@redhat.com> | 2006-05-10 16:23:41 +0000 |
commit | 7dc850db3e8bffbb9de5eaa923f08ea8256a045e (patch) | |
tree | 6bc96e88e6d6324fe607ccf12686383599e4fcbc /libdm/libdm-file.c | |
parent | 72b2cb613a57918dadf9722c59a30ca71d751c8e (diff) | |
download | lvm2-7dc850db3e8bffbb9de5eaa923f08ea8256a045e.tar.gz lvm2-7dc850db3e8bffbb9de5eaa923f08ea8256a045e.tar.xz lvm2-7dc850db3e8bffbb9de5eaa923f08ea8256a045e.zip |
coverity fixes
Diffstat (limited to 'libdm/libdm-file.c')
-rw-r--r-- | libdm/libdm-file.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/libdm/libdm-file.c b/libdm/libdm-file.c index dbbca599..54c38b4e 100644 --- a/libdm/libdm-file.c +++ b/libdm/libdm-file.c @@ -23,7 +23,7 @@ static int _create_dir_recursive(const char *dir) { char *orig, *s; - int rc; + int rc, r = 0; log_verbose("Creating directory \"%s\"", dir); /* Create parent directories */ @@ -35,22 +35,24 @@ static int _create_dir_recursive(const char *dir) if (rc < 0 && errno != EEXIST) { log_error("%s: mkdir failed: %s", orig, strerror(errno)); - dm_free(orig); - return 0; + goto out; } } *s++ = '/'; } - dm_free(orig); /* Create final directory */ rc = mkdir(dir, 0777); if (rc < 0 && errno != EEXIST) { log_error("%s: mkdir failed: %s", orig, strerror(errno)); - return 0; + goto out; } - return 1; + + r = 1; +out: + dm_free(orig); + return r; } int create_dir(const char *dir) |