Browse Source

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>
Adrian Hunter 16 years ago
parent
commit
7194e6f9c0
1 changed files with 1 additions and 0 deletions
  1. 1 0
      drivers/mtd/ubi/eba.c

+ 1 - 0
drivers/mtd/ubi/eba.c

@@ -1254,6 +1254,7 @@ out_free:
 		if (!ubi->volumes[i])
 		if (!ubi->volumes[i])
 			continue;
 			continue;
 		kfree(ubi->volumes[i]->eba_tbl);
 		kfree(ubi->volumes[i]->eba_tbl);
+		ubi->volumes[i]->eba_tbl = NULL;
 	}
 	}
 	return err;
 	return err;
 }
 }