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; > } >
