On Tue, Apr 16, 2024 at 02:34:23PM +0200, Andrey Albershteyn wrote: > When count is zero fl reference is lost. Fix it by freeing the list. > > Fixes: a0d79cb37a36 ("xfs_db: make flist_find_ftyp() to check for field existance on disk") > Signed-off-by: Andrey Albershteyn <aalbersh@xxxxxxxxxx> Yep, that's a leak. Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > --- > db/flist.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/db/flist.c b/db/flist.c > index c81d229ab99c..0a6cc5fcee43 100644 > --- a/db/flist.c > +++ b/db/flist.c > @@ -424,8 +424,10 @@ flist_find_ftyp( > if (f->ftyp == type) > return fl; > count = fcount(f, obj, startoff); > - if (!count) > + if (!count) { > + flist_free(fl); > continue; > + } > fa = &ftattrtab[f->ftyp]; > if (fa->subfld) { > flist_t *nfl; > -- > 2.42.0 > >