UBIFS: fix oops on error path in read_pnode

Thanks to coverity which spotted that UBIFS will oops if 'kmalloc()'
in 'read_pnode()' fails and we dereference a NULL 'pnode' pointer
when we 'goto out'.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Cc: stable@kernel.org
This commit is contained in:
Artem Bityutskiy 2011-03-25 19:09:54 +02:00
parent 8b229c7676
commit 54acbaaa52
1 changed files with 3 additions and 4 deletions

View File

@ -1270,10 +1270,9 @@ static int read_pnode(struct ubifs_info *c, struct ubifs_nnode *parent, int iip)
lnum = branch->lnum; lnum = branch->lnum;
offs = branch->offs; offs = branch->offs;
pnode = kzalloc(sizeof(struct ubifs_pnode), GFP_NOFS); pnode = kzalloc(sizeof(struct ubifs_pnode), GFP_NOFS);
if (!pnode) { if (!pnode)
err = -ENOMEM; return -ENOMEM;
goto out;
}
if (lnum == 0) { if (lnum == 0) {
/* /*
* This pnode was not written which just means that the LEB * This pnode was not written which just means that the LEB