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)