diff options
author | Adrian Hunter <Adrian.Hunter@nokia.com> | 2009-07-24 17:05:00 +0300 |
---|---|---|
committer | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2009-07-24 20:08:52 +0300 |
commit | 7194e6f9c083e87171ddfc8b746f05e007f58132 (patch) | |
tree | df883b3efd57a4389729989babc0ebb9739153d7 /drivers/mtd | |
parent | 4be3bd7849165e7efa6b0b35a23d6a3598d97465 (diff) | |
download | talos-op-linux-7194e6f9c083e87171ddfc8b746f05e007f58132.tar.gz talos-op-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/mtd')
-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; } |