From patchwork Tue Jul 14 16:45:27 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: number9652 X-Patchwork-Id: 29776 Return-Path: X-Original-To: patchwork-incoming@bilbo.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from ozlabs.org (ozlabs.org [203.10.76.45]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "mx.ozlabs.org", Issuer "CA Cert Signing Authority" (verified OK)) by bilbo.ozlabs.org (Postfix) with ESMTPS id 18F9AB7066 for ; Wed, 15 Jul 2009 02:45:47 +1000 (EST) Received: by ozlabs.org (Postfix) id 088FEDDDA1; Wed, 15 Jul 2009 02:45:47 +1000 (EST) Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id 97839DDDA0 for ; Wed, 15 Jul 2009 02:45:46 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753901AbZGNQp3 (ORCPT ); Tue, 14 Jul 2009 12:45:29 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755255AbZGNQp3 (ORCPT ); Tue, 14 Jul 2009 12:45:29 -0400 Received: from n54.bullet.mail.sp1.yahoo.com ([98.136.44.32]:38049 "HELO n54.bullet.mail.sp1.yahoo.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1753901AbZGNQp2 (ORCPT ); Tue, 14 Jul 2009 12:45:28 -0400 Received: from [216.252.122.217] by n54.bullet.mail.sp1.yahoo.com with NNFMP; 14 Jul 2009 16:45:28 -0000 Received: from [69.147.65.164] by t2.bullet.sp1.yahoo.com with NNFMP; 14 Jul 2009 16:45:28 -0000 Received: from [127.0.0.1] by omp409.mail.sp1.yahoo.com with NNFMP; 14 Jul 2009 16:45:28 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 109016.22270.bm@omp409.mail.sp1.yahoo.com Received: (qmail 76584 invoked by uid 60001); 14 Jul 2009 16:45:27 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1247589927; bh=vH1Po98rXBQdZXxE61uodPHXMEvMSSovcjVKaj/u+/8=; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type; b=c98iegEudVZgVKp6xfy/s9jwMwEXzrWdqJV3EJ59Lo4U7dU9iOjVUKWjfdBWqW/yFhG19XtWBJJZ/ZOa6d37dOY8IY1SgFqNHx5BxGh7gt9KTy/cHhfVdfAdeZnDY+8WmKfVBWPJQsxLD7a7Xi1v+NcZ929Aqr74POA4QHr8cm4= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type; b=A84mFrlMI7IFovIaM1PQwg3rg+hQQVy+77na/53zXfz6n/SKUIURmP13HU40bOJD2XRpcwZCWar8klkSy68s0I9hmK/FpK2bJiWxjvXYc5HSSSniqGbbc6tZmFbSxoB2W+JD++km8RRMEhwDUO7Oy+nkUyds0Zm12JgHifDpcl8=; Message-ID: <900111.75858.qm@web43503.mail.sp1.yahoo.com> X-YMail-OSG: IMJZGIkVM1nPrywXvN7vzN09tc0unc4cqK4EJcz7clyxOBqcZpQIM62heeO3Mxzfb1lLXhYYKLJzRuRkWIl1FFv8A.xt433qRhuWidYNRcZbK_MrGX0ZYMe6MKa.psI_hntZsVQZB2arHDRMMs6gPBhTsr4QSyfC0rIrHj5zUVgjlXVryR11O_47RvXtkfwpNSLmluGH2FckUWOtCBX.Pfek039qtBXXpK.DLN4w_lqo8FLTqB6gA20VFzThrtiyyEY4efVRbY7Fx5HHFe_W2T9v.u2CnEP0PfMPKq6SQqEPd2UBURE- Received: from [173.9.226.29] by web43503.mail.sp1.yahoo.com via HTTP; Tue, 14 Jul 2009 09:45:27 PDT X-Mailer: YahooMailRC/1358.21 YahooMailWebService/0.7.289.15 Date: Tue, 14 Jul 2009 09:45:27 -0700 (PDT) From: number9652 Subject: [PATCH] libext2fs: fix memory leak in block_iterate To: linux-ext4@vger.kernel.org MIME-Version: 1.0 Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org One of the error paths in block_iterate could return before freeing the scratch memory. Here we free that memory before returning. Signed-off-by: Nic Case --- --- -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/e2fsprogs-1.41.8-orig/lib/ext2fs/block.c b/e2fsprogs-1.41.8/lib/ext2fs/block.c index de5342d..bb20f6e 100644 --- a/e2fsprogs-1.41.8-orig/lib/ext2fs/block.c +++ b/e2fsprogs-1.41.8/lib/ext2fs/block.c @@ -488,8 +488,11 @@ errcode_t ext2fs_block_iterate2(ext2_filsys fs, abort_exit: if (ret & BLOCK_CHANGED) { retval = ext2fs_write_inode(fs, ino, &inode); - if (retval) + if (retval) { + if (!block_buf) + ext2fs_free_mem(&ctx.ind_buf); return retval; + } } errout: if (!block_buf)