diff options
author | Adrian Hunter <Adrian.Hunter@nokia.com> | 2009-07-24 16:05:00 +0200 |
---|---|---|
committer | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2009-07-24 19:08:52 +0200 |
commit | 7194e6f9c083e87171ddfc8b746f05e007f58132 (patch) | |
tree | df883b3efd57a4389729989babc0ebb9739153d7 /drivers | |
parent | Linux 2.6.31-rc4 (diff) | |
download | linux-7194e6f9c083e87171ddfc8b746f05e007f58132.tar.xz linux-7194e6f9c083e87171ddfc8b746f05e007f58132.zip |
UBI: fix double free on error path
If we fail in 'ubi_eba_init_scan()', we free
'ubi->volumes[i]->eba_tbl' in there, but also later free it
in 'free_internal_volumes()'. Fix this by assigning NULL
to 'ubi->volumes[i]->eba_tbl' after it is freed.
Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mtd/ubi/eba.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mtd/ubi/eba.c b/drivers/mtd/ubi/eba.c index 0f2034c3ed2f..e4d9ef0c965a 100644 --- a/drivers/mtd/ubi/eba.c +++ b/drivers/mtd/ubi/eba.c @@ -1254,6 +1254,7 @@ out_free: if (!ubi->volumes[i]) continue; kfree(ubi->volumes[i]->eba_tbl); + ubi->volumes[i]->eba_tbl = NULL; } return err; } |