Browse Source

libfdt: Copy the struct region in fdt_resize()

At present this function appears to copy only the data before the struct
region and the data in the string region. It does not seem to copy the
struct region itself.

From the arguments of this function it seems that it should support fdt
and buf being different. This patch attempts to fix this problem.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
main
Simon Glass 7 years ago committed by David Gibson
parent
commit
c72fa777e6
  1. 2
      libfdt/fdt_sw.c

2
libfdt/fdt_sw.c

@ -170,7 +170,7 @@ int fdt_resize(void *fdt, void *buf, int bufsize) @@ -170,7 +170,7 @@ int fdt_resize(void *fdt, void *buf, int bufsize)

FDT_SW_PROBE(fdt);

headsize = fdt_off_dt_struct(fdt);
headsize = fdt_off_dt_struct(fdt) + fdt_size_dt_struct(fdt);
tailsize = fdt_size_dt_strings(fdt);

if ((headsize + tailsize) > bufsize)

Loading…
Cancel
Save