goto out;
dst_dirpath = strdup(dst_filepath);
- if (dst_dirpath == NULL) {
- _E("Failed to copy dst_filepath: %s", dst_filepath);
+ char *dst_dirname = dirname(dst_dirpath);
+ if (dst_dirpath == NULL || dst_dirname == NULL) {
+ _E("Out of memory");
goto out;
}
- dst_dirpath = dirname(dst_dirpath);
- if (mkdir(dst_dirpath, 0775) < 0 && errno != EEXIST) {
- _E("Failed to mkdir %s (%m)", dst_dirpath);
+
+ if (mkdir(dst_dirname, 0775) < 0 && errno != EEXIST) {
+ _E("Failed to mkdir %s: %m", dst_dirname);
goto out;
}