fs/squashfs: Fix memory leak in sqfs_size_nest()

In case MAX_SYMLINK_NEST is reached while determining the size
on a symlink node, the function returns immediately.
This would not free the resources after the free_strings: label
causing a memory leak.

Set the ret value and just break out of the switch to fix this.

Signed-off-by: Andrea della Porta <andrea.porta@suse.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
This commit is contained in:
Andrea della Porta 2025-03-02 19:29:31 +01:00 committed by Tom Rini
parent 31378bd6fc
commit e22b2d7781

View file

@ -1712,7 +1712,8 @@ static int sqfs_size_nest(const char *filename, loff_t *size)
case SQFS_LSYMLINK_TYPE:
if (++symlinknest == MAX_SYMLINK_NEST) {
*size = 0;
return -ELOOP;
ret = -ELOOP;
break;
}
symlink = (struct squashfs_symlink_inode *)ipos;