Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4e90ec0134d7bedebbe3fe58ed5d431293886d4
Commit:     c4e90ec0134d7bedebbe3fe58ed5d431293886d4
Parent:     341e1a0cf2d8965c8b2f7941a6b2f2c2170df469
Author:     Florin Malita <[EMAIL PROTECTED]>
AuthorDate: Thu May 3 11:49:57 2007 -0400
Committer:  Artem Bityutskiy <[EMAIL PROTECTED]>
CommitDate: Wed Jul 18 16:52:22 2007 +0300

    UBI: fix dereference after kfree
    
    Coverity (CID 1614) spotted new_seb being dereferenced after kfree() in
    create_vtbl's write_error path.
    
    Signed-off-by: Florin Malita <[EMAIL PROTECTED]>
    Signed-off-by: Artem Bityutskiy <[EMAIL PROTECTED]>
---
 drivers/mtd/ubi/vtbl.c |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/mtd/ubi/vtbl.c b/drivers/mtd/ubi/vtbl.c
index b6fd6bb..83236c3 100644
--- a/drivers/mtd/ubi/vtbl.c
+++ b/drivers/mtd/ubi/vtbl.c
@@ -317,14 +317,13 @@ retry:
        return err;
 
 write_error:
-       kfree(new_seb);
-       /* May be this physical eraseblock went bad, try to pick another one */
-       if (++tries <= 5) {
+       /* Maybe this physical eraseblock went bad, try to pick another one */
+       if (++tries <= 5)
                err = ubi_scan_add_to_list(si, new_seb->pnum, new_seb->ec,
                                           &si->corr);
-               if (!err)
-                       goto retry;
-       }
+       kfree(new_seb);
+       if (!err)
+               goto retry;
 out_free:
        ubi_free_vid_hdr(ubi, vid_hdr);
        return err;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to