[PATCH 1/1] tpm: use memmove() for overlapping buffers

Ilias Apalodimas ilias.apalodimas at linaro.org
Mon Nov 11 12:14:45 CET 2024


On Sat, 2 Nov 2024 at 12:27, Heinrich Schuchardt
<heinrich.schuchardt at canonical.com> wrote:
>
> 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 <heinrich.schuchardt at canonical.com>
> ---
>  lib/tpm-v2.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/tpm-v2.c b/lib/tpm-v2.c
> index 59e6cbafafa..ad2b5ab0c32 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;
>  }
> --
> 2.45.2
>

Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>


More information about the U-Boot mailing list