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);