fdtoverlay: Switch from using alloca to malloc

alloca entails a complicated header situation when using other platforms, where
some split it out in alloca.h while others include it as a standard part of
stdlib.h.

The cons don't seem to outweigh the pros, so switch it to malloc.

Signed-off-by: Kyle Evans <[email protected]>
Signed-off-by: David Gibson <[email protected]>
diff --git a/fdtoverlay.c b/fdtoverlay.c
index 7f124fc..62a942d 100644
--- a/fdtoverlay.c
+++ b/fdtoverlay.c
@@ -26,7 +26,6 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <alloca.h>
 #include <inttypes.h>
 
 #include <libfdt.h>
@@ -79,7 +78,7 @@
 	ret = 0;
 
 	/* allocate blob pointer array */
-	ovblob = alloca(sizeof(*ovblob) * argc);
+	ovblob = malloc(sizeof(*ovblob) * argc);
 	memset(ovblob, 0, sizeof(*ovblob) * argc);
 
 	/* read and keep track of the overlay blobs */
@@ -121,6 +120,7 @@
 			if (ovblob[i])
 				free(ovblob[i]);
 		}
+		free(ovblob);
 	}
 	free(blob);