Version 1.02.06 -
=============================
+ Fix leaks in error paths found by coverity.
Increase dmsetup line buffer to 4k.
Version 1.02.05 - 19 Apr 2006
return NULL;
}
- if (!dm_check_version())
+ if (!dm_check_version()) {
+ dm_free(dmt);
return NULL;
+ }
memset(dmt, 0, sizeof(*dmt));
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 */
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)