Skip to content

Commit

Permalink
UBIFS: make ubifs_lpt_init clean-up in case of failure
Browse files Browse the repository at this point in the history
Most functions in UBIFS follow the following designn pattern: if the function
allocates multiple resources, and failss at some point, it frees what it has
allocated and returns an error. So the caller can rely on the fact that the
callee has cleaned up everything after own failure.

Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Acked-by: Sidney Amani <seed95@gmail.com>
  • Loading branch information
Artem Bityutskiy committed May 20, 2012
1 parent a6aae4d commit 4994297
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions fs/ubifs/lpt.c
Original file line number Diff line number Diff line change
Expand Up @@ -1740,16 +1740,20 @@ int ubifs_lpt_init(struct ubifs_info *c, int rd, int wr)
if (rd) {
err = lpt_init_rd(c);
if (err)
return err;
goto out_err;
}

if (wr) {
err = lpt_init_wr(c);
if (err)
return err;
goto out_err;
}

return 0;

out_err:
ubifs_lpt_free(c, 0);
return err;
}

/**
Expand Down

0 comments on commit 4994297

Please sign in to comment.