On Fri, 9 Jan 2026 at 06:08, Timo tp Preißl <[email protected]> wrote:
>
> An integer overflow in length calculation could lead to
> under-allocation and buffer overcopy.
>
> Signed-off-by: Timo tp Preißl <[email protected]>
> ---
>  fs/squashfs/sqfs.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>

Reviewed-by: Simon Glass <[email protected]>


> diff --git a/fs/squashfs/sqfs.c b/fs/squashfs/sqfs.c
> index 4d3d83b7587..f668c26472e 100644
> --- a/fs/squashfs/sqfs.c
> +++ b/fs/squashfs/sqfs.c
> @@ -255,10 +255,14 @@ static char *sqfs_concat_tokens(char **token_list, int 
> token_count)
>  {
>         char *result;
>         int i, length = 0, offset = 0;
> +       size_t alloc;
>
>         length = sqfs_get_tokens_length(token_list, token_count);
>
> -       result = malloc(length + 1);
> +       if (__builtin_add_overflow(length, 1, &alloc))
> +               return 0;
> +
> +       result = malloc(alloc);
>         if (!result)
>                 return NULL;
>
> --
> 2.43.0
>
>

Reply via email to