On 9/27/13 9:00 AM, tinguely@xxxxxxx wrote: > Free the memory in error path of xlog_recover_add_to_trans(). > Normally this memory is freed in recovery pass2, but is leaked > in the error path. > > Signed-off-by: Mark Tinguely <tinguely@xxxxxxx> For this local leak & the fix, Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Since this gets called in a loop from xlog_recover_process_data(), I'm wondering what happens to previously-allocated items, if we return an error and never get to pass2? (I could be off base, haven't really followed it through, but it seems like they might leak). Thanks, -Eric > --- > Found by Coverity (134683) in userspace, same patch applies there > also. > fs/xfs/xfs_log_recover.c | 1 + > 1 file changed, 1 insertion(+) > > Index: b/fs/xfs/xfs_log_recover.c > =================================================================== > --- a/fs/xfs/xfs_log_recover.c > +++ b/fs/xfs/xfs_log_recover.c > @@ -1585,6 +1585,7 @@ xlog_recover_add_to_trans( > "bad number of regions (%d) in inode log format", > in_f->ilf_size); > ASSERT(0); > + free(ptr); > return XFS_ERROR(EIO); > } > > > > _______________________________________________ > xfs mailing list > xfs@xxxxxxxxxxx > http://oss.sgi.com/mailman/listinfo/xfs > _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs