Coverity (CID 1614) spotted new_seb being dereferenced after kfree() in create_vtbl's write_error path.

Signed-off-by: Florin Malita <[EMAIL PROTECTED]>
---

vtbl.c |   11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/mtd/ubi/vtbl.c b/drivers/mtd/ubi/vtbl.c
index b6fd6bb..91e3619 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 linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to