[PATCH v2 1/4] xfsprogs: xfs_io: fix a memory leak in imap_f

Christoph Hellwig hch at infradead.org
Sun Dec 20 09:33:57 CST 2015


> @@ -39,6 +39,8 @@ imap_f(int argc, char **argv)
> -		if (count == 0)
> +		if (count == 0) {
> +			free(t);
>  			return 0;
> +		}

please use a goto out_free; here

>
>  		for (i = 0; i < count; i++) {
>  			printf(_("ino %10llu count %2d mask %016llx\n"),
>  				(unsigned long long)t[i].xi_startino,
> @@ -55,6 +59,7 @@ imap_f(int argc, char **argv)
>  				(unsigned long long)t[i].xi_allocmask);
>  		}
>  	}
> +	free(t);
>  	perror("xfsctl(XFS_IOC_FSINUMBERS)");
>  	exitcode = 1;
>  	return 0;

and place the free just before the return here so that we have a single
uwinding exit.

Otherwise this looks good to me.



More information about the xfs mailing list