aboutsummaryrefslogtreecommitdiff
path: root/e2fsprogs/chattr.c
diff options
context:
space:
mode:
Diffstat (limited to 'e2fsprogs/chattr.c')
-rw-r--r--e2fsprogs/chattr.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/e2fsprogs/chattr.c b/e2fsprogs/chattr.c
index 5aaa14fbb..07cee8f7c 100644
--- a/e2fsprogs/chattr.c
+++ b/e2fsprogs/chattr.c
@@ -167,11 +167,9 @@ static int chattr_dir_proc(const char *dir_name, struct dirent *de,
/*if (strcmp(de->d_name, ".") && strcmp(de->d_name, "..")) {*/
if (de->d_name[0] == '.' && (de->d_name[1] == '\0' || \
(de->d_name[1] == '.' && de->d_name[2] == '\0'))) {
-
- char *path = malloc(strlen(dir_name) + 1 + strlen(de->d_name) + 1);
- if (!path)
- bb_error_msg_and_die("Couldn't allocate path variable in chattr_dir_proc");
- sprintf(path, "%s/%s", dir_name, de->d_name);
+ char *path;
+ if (asprintf(&path, "%s/%s", dir_name, de->d_name) == -1)
+ bb_error_msg_and_die("asprintf failed");
change_attributes(path);
free(path);
}