fixcon_recursive: avoid fixed size buffers
Change-Id: I980d526e999e602b6ab6ebfb7a5ddc7a4bd13785
diff --git a/src/android.c b/src/android.c
index 22edc28..9366c5f 100644
--- a/src/android.c
+++ b/src/android.c
@@ -780,13 +780,15 @@
struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
- char entryname[PATH_MAX];
+ char *entryname;
if (!strcmp(entry->d_name, ".."))
continue;
if (!strcmp(entry->d_name, "."))
continue;
- sprintf(entryname, "%s/%s", pathname, entry->d_name);
+ if (asprintf(&entryname, "%s/%s", pathname, entry->d_name) == -1)
+ continue;
fixcon_recursive(entryname, sehandle_old, sehandle_new);
+ free(entryname);
}
if (closedir(dir) < 0)