From: Eric Sandeen Date: Thu, 1 May 2014 23:32:33 +0000 (+1000) Subject: xfs_logprint: Fix error handling in xlog_print_trans_efi X-Git-Tag: v3.2.0-rc2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=847bbbe4bb91e18fdefcddc7b61b237d114fa485;p=thirdparty%2Fxfsprogs-dev.git xfs_logprint: Fix error handling in xlog_print_trans_efi A recent change to xlog_print_trans_efi() led to a leaked "src_f" on this error return. Signed-off-by: Eric Sandeen Reviewed-by: Mark Tinguely Signed-off-by: Dave Chinner --- diff --git a/logprint/log_misc.c b/logprint/log_misc.c index 928f60a52..d482cf3fb 100644 --- a/logprint/log_misc.c +++ b/logprint/log_misc.c @@ -482,7 +482,7 @@ xlog_print_trans_efi( uint src_len, int continued) { - xfs_efi_log_format_t *src_f, *f; + xfs_efi_log_format_t *src_f, *f = NULL; uint dst_len; xfs_extent_t *ex; int i; @@ -505,7 +505,8 @@ xlog_print_trans_efi( if (continued && src_len < core_size) { printf(_("EFI: Not enough data to decode further\n")); - return 1; + error = 1; + goto error; } if ((f = (xfs_efi_log_format_t *)malloc(dst_len)) == NULL) {