]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
cmd/mem.c: use memmove in do_mem_cp()
authorRasmus Villemoes <rasmus.villemoes@prevas.dk>
Wed, 3 Jan 2024 10:47:03 +0000 (11:47 +0100)
committerTom Rini <trini@konsulko.com>
Tue, 16 Jan 2024 22:05:29 +0000 (17:05 -0500)
There's no 'mv' shell command for handling overlapping src and dst
regions, and there's no point introducing one, when we can just make
the existing 'cp' command DTRT in all cases. memmove() should at most
be a few instructions more then memcpy() (to detect the appropriate
direction to do the copy), which is of course completely in the noise
with all the string processing that a shell command does.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
cmd/mem.c

index 66c2d36a14800b3cfcc2c8201d7245dcb9806aeb..c696b92a2749edd242cfd9b6b9d8eab0d41ba1d3 100644 (file)
--- a/cmd/mem.c
+++ b/cmd/mem.c
@@ -361,7 +361,7 @@ static int do_mem_cp(struct cmd_tbl *cmdtp, int flag, int argc,
        }
 #endif
 
-       memcpy(dst, src, count * size);
+       memmove(dst, src, count * size);
 
        unmap_sysmem(src);
        unmap_sysmem(dst);