summaryrefslogtreecommitdiffstats
path: root/libfdt
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.vnet.ibm.com>2014-12-10 11:55:22 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2014-12-10 11:55:22 +1100
commit6cee9c586da1ecb7456ad5a4aec24e8e70dc7807 (patch)
tree979ce4729180b0fa29cc6e68b3e8c1666c62d5c0 /libfdt
parent0630f5e6b595951680bf495d24c450f94d93739d (diff)
downloadtalos-skiboot-6cee9c586da1ecb7456ad5a4aec24e8e70dc7807.tar.gz
talos-skiboot-6cee9c586da1ecb7456ad5a4aec24e8e70dc7807.zip
Fix warning of unbounded stack in libfdt/fdt_sw.c
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'libfdt')
-rw-r--r--libfdt/fdt_sw.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libfdt/fdt_sw.c b/libfdt/fdt_sw.c
index 784b6725..75d19fed 100644
--- a/libfdt/fdt_sw.c
+++ b/libfdt/fdt_sw.c
@@ -54,6 +54,8 @@
#include <libfdt.h>
#include "libfdt_internal.h"
+#include <assert.h>
+#include <mem_region-malloc.h>
static int _fdt_sw_check_header(void *fdt)
{
@@ -213,9 +215,12 @@ int fdt_property(void *fdt, const char *name, const void *val, int len)
int fdt_property_cells_v(void *fdt, unsigned const char *name, int count,
va_list args)
{
- uint32_t buffer[count];
+ uint32_t *buffer;
int i;
+ buffer = (uint32_t*)malloc(sizeof(uint32_t)*count);
+ assert(buffer);
+
for (i = 0; i < count; i++)
buffer[i] = cpu_to_fdt32(va_arg(args, uint32_t));
OpenPOWER on IntegriCloud