From: Heinrich Schuchardt Date: Sat, 2 Nov 2024 10:27:37 +0000 (+0100) Subject: tpm: use memmove() for overlapping buffers X-Git-Url: http://git.dujemihanovic.xyz/%22http:/www.sics.se/static/%7B%7B%20.Permalink%20%7D%7D?a=commitdiff_plain;h=6c717d952d455d2efc267496fa9797a656459e6f;p=u-boot.git tpm: use memmove() for overlapping buffers The behavior of memcpy() for overlapping buffers is undefined. Fixes: 4c57ec76b725 ("tpm: Implement state command for Cr50") Addresses-Coverity-ID: 356664 Overlapping buffer in memory copy Signed-off-by: Heinrich Schuchardt Reviewed-by: Ilias Apalodimas Signed-off-by: Ilias Apalodimas --- diff --git a/lib/tpm-v2.c b/lib/tpm-v2.c index 59e6cbafaf..ad2b5ab0c3 100644 --- a/lib/tpm-v2.c +++ b/lib/tpm-v2.c @@ -821,7 +821,7 @@ u32 tpm2_report_state(struct udevice *dev, uint vendor_cmd, uint vendor_subcmd, if (*recv_size < 12) return -ENODATA; *recv_size -= 12; - memcpy(recvbuf, recvbuf + 12, *recv_size); + memmove(recvbuf, recvbuf + 12, *recv_size); return 0; }