On Fri,  2 Jun 2023 14:20:39 +0900
Noboru Asai <[email protected]> wrote:

> The variable 'ctx->pclustersize' could be larger than max pclustersize.
> 
> Signed-off-by: Noboru Asai <[email protected]>
> ---
>  lib/compress.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/compress.c b/lib/compress.c
> index 2e1dfb3..e943056 100644
> --- a/lib/compress.c
> +++ b/lib/compress.c
> @@ -359,8 +359,9 @@ static bool z_erofs_fixup_deduped_fragment(struct 
> z_erofs_vle_compress_ctx *ctx,
>  
>       /* try to fix again if it gets larger (should be rare) */
>       if (inode->fragment_size < newsize) {
> -             ctx->pclustersize = roundup(newsize - inode->fragment_size,
> -                                         erofs_blksiz());
> +             ctx->pclustersize = min(z_erofs_get_max_pclusterblks(inode) * 
> erofs_blksiz(),
> +                                     roundup(newsize - inode->fragment_size,
> +                                             erofs_blksiz()));

Looks good to me.

Reviewed-by: Yue Hu <[email protected]>

>               return false;
>       }
>  

Reply via email to