On 4/7/25 19:05, Vincent Stehlé wrote:
> The set_dfu_alt_info() function calls the ALLOC_CACHE_ALIGN_BUFFER()
> macro to declare a `buf' variable pointer into an array allocated on the
> stack. It then calls the memset() function to clear the useable portion
> of the array using the idiomatic expression `sizeof(buf)'.
> 
> While this would indeed work fine for an array, in the present case we
> end up clearing only the size of a pointer.
> Fix this by specifying the explicit size `DFU_ALT_BUF_LEN' instead.
> 
> Fixes: ec2933e543df ("board: stm32mp1: move set_dfu_alt_info in st common 
> directory")
> Signed-off-by: Vincent Stehlé <vincent.ste...@arm.com>
> Cc: Patrick Delaunay <patrick.delau...@foss.st.com>
> Cc: Patrice Chotard <patrice.chot...@foss.st.com>
> Cc: Tom Rini <tr...@konsulko.com>
> Cc: Marek Vasut <ma...@denx.de>
> ---
>  board/st/common/stm32mp_dfu.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/board/st/common/stm32mp_dfu.c b/board/st/common/stm32mp_dfu.c
> index 1db8e45480e..8c1f80b678a 100644
> --- a/board/st/common/stm32mp_dfu.c
> +++ b/board/st/common/stm32mp_dfu.c
> @@ -105,7 +105,7 @@ void set_dfu_alt_info(char *interface, char *devstr)
>       if (env_get("dfu_alt_info"))
>               return;
>  
> -     memset(buf, 0, sizeof(buf));
> +     memset(buf, 0, DFU_ALT_BUF_LEN);
>  
>       snprintf(buf, DFU_ALT_BUF_LEN,
>                "ram 0=%s", CONFIG_DFU_ALT_RAM0);

Hi Vincent,

Reviewed-by: Patrice Chotard <patrice.chot...@foss.st.com>

Thanks

Reply via email to