Răsfoiți Sursa

UBI: fix memory leak in checking code

Reported-by: Eric Sesterhenn / Snakebyte <snakebyte@gmx.de>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Artem Bityutskiy 18 ani în urmă
părinte
comite
341e1a0cf2
1 a modificat fișierele cu 3 adăugiri și 1 ștergeri
  1. 3 1
      drivers/mtd/ubi/scan.c

+ 3 - 1
drivers/mtd/ubi/scan.c

@@ -1310,8 +1310,10 @@ static int paranoid_check_si(const struct ubi_device *ubi,
 	memset(buf, 1, ubi->peb_count);
 	for (pnum = 0; pnum < ubi->peb_count; pnum++) {
 		err = ubi_io_is_bad(ubi, pnum);
-		if (err < 0)
+		if (err < 0) {
+			kfree(buf);
 			return err;
+		}
 		else if (err)
 			buf[pnum] = 0;
 	}