LIBFDT: use memmove() instead of memcpy()
authorGerald Van Baren <vanbaren@cideas.com>
Tue, 8 Jan 2008 04:47:32 +0000 (23:47 -0500)
committerGerald Van Baren <vanbaren@cideas.com>
Tue, 8 Jan 2008 20:03:47 +0000 (15:03 -0500)
This is partial patch from the DTC/libfdt
commit  67b6b33b9b413a450a72135b5dc59c0a1e33e647
Author: David Gibson <david@gibson.dropbear.id.au>
Date:   Wed Nov 21 11:56:14 2007 +1100

    The patch also fixes one genuine bug caught by valgrind -
    _packblocks() in fdt_rw.c was using memcpy() where it should have been
    using memmove().

Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
libfdt/fdt_rw.c

index dfe5628a33a011b37dd43c3c849c52b0110f01d5..6673f8ec962ad39510e25a36a56a3fd5cd5650d8 100644 (file)
@@ -358,12 +358,12 @@ static void _packblocks(const void *fdt, void *buf,
        memmove(buf + mem_rsv_off, fdt + fdt_off_mem_rsvmap(fdt), mem_rsv_size);
        fdt_set_off_mem_rsvmap(buf, mem_rsv_off);
 
-       memcpy(buf + struct_off, fdt + fdt_off_dt_struct(fdt), struct_size);
+       memmove(buf + struct_off, fdt + fdt_off_dt_struct(fdt), struct_size);
        fdt_set_off_dt_struct(buf, struct_off);
        fdt_set_size_dt_struct(buf, struct_size);
 
-       memcpy(buf + strings_off, fdt + fdt_off_dt_strings(fdt),
-              fdt_size_dt_strings(fdt));
+       memmove(buf + strings_off, fdt + fdt_off_dt_strings(fdt),
+               fdt_size_dt_strings(fdt));
        fdt_set_off_dt_strings(buf, strings_off);
        fdt_set_size_dt_strings(buf, fdt_size_dt_strings(fdt));
 }