diff options
author | Vasiliy Kulikov <segooon@gmail.com> | 2010-09-05 14:33:00 -0400 |
---|---|---|
committer | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2010-09-07 05:09:41 -0400 |
commit | 0e54c8992a35ab8126e8a7661007ddc1745a2597 (patch) | |
tree | da9652f72841fefb23f261fc824af0c36e089061 /fs/ubifs | |
parent | 3a8fa0ed3e1a8dc54f9297d2a2292b87e03e21b5 (diff) |
UBIFS: check return code of ubifs_lpt_lookup
Function ubifs_lpt_lookup may return ERR_PTR(...). Check for it.
[Tweaked by Artem Bityutskiy]
Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to 'fs/ubifs')
-rw-r--r-- | fs/ubifs/lpt.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/ubifs/lpt.c b/fs/ubifs/lpt.c index 0084a33c4c69..72775d35b99e 100644 --- a/fs/ubifs/lpt.c +++ b/fs/ubifs/lpt.c | |||
@@ -1363,6 +1363,7 @@ static int read_lsave(struct ubifs_info *c) | |||
1363 | goto out; | 1363 | goto out; |
1364 | for (i = 0; i < c->lsave_cnt; i++) { | 1364 | for (i = 0; i < c->lsave_cnt; i++) { |
1365 | int lnum = c->lsave[i]; | 1365 | int lnum = c->lsave[i]; |
1366 | struct ubifs_lprops *lprops; | ||
1366 | 1367 | ||
1367 | /* | 1368 | /* |
1368 | * Due to automatic resizing, the values in the lsave table | 1369 | * Due to automatic resizing, the values in the lsave table |
@@ -1370,7 +1371,11 @@ static int read_lsave(struct ubifs_info *c) | |||
1370 | */ | 1371 | */ |
1371 | if (lnum >= c->leb_cnt) | 1372 | if (lnum >= c->leb_cnt) |
1372 | continue; | 1373 | continue; |
1373 | ubifs_lpt_lookup(c, lnum); | 1374 | lprops = ubifs_lpt_lookup(c, lnum); |
1375 | if (IS_ERR(lprops)) { | ||
1376 | err = PTR_ERR(lprops); | ||
1377 | goto out; | ||
1378 | } | ||
1374 | } | 1379 | } |
1375 | out: | 1380 | out: |
1376 | vfree(buf); | 1381 | vfree(buf); |