summaryrefslogtreecommitdiffstats
path: root/fs/ubifs
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2011-05-31 08:40:40 +0300
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2011-06-03 18:12:31 +0300
commit812eb258311f89bcd664a34a620f249d54a2cd83 (patch)
tree2b1598190efd598cfbdff30fbca302426f796e3a /fs/ubifs
parentcf610bf4199770420629d3bc273494bd27ad6c1d (diff)
downloadlinux-812eb258311f89bcd664a34a620f249d54a2cd83.tar.gz
linux-812eb258311f89bcd664a34a620f249d54a2cd83.tar.bz2
linux-812eb258311f89bcd664a34a620f249d54a2cd83.zip
UBIFS: fix memory leak on error path
UBIFS leaks memory on error path in 'ubifs_jnl_update()' in case of write failure because it forgets to free the 'struct ubifs_dent_node *dent' object. Although the object is small, the alignment can make it large - e.g., 2KiB if the min. I/O unit is 2KiB. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Cc: stable@kernel.org
Diffstat (limited to 'fs/ubifs')
-rw-r--r--fs/ubifs/journal.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ubifs/journal.c b/fs/ubifs/journal.c
index 34b1679e6e3a..cef0460f4c54 100644
--- a/fs/ubifs/journal.c
+++ b/fs/ubifs/journal.c
@@ -669,6 +669,7 @@ out_free:
out_release:
release_head(c, BASEHD);
+ kfree(dent);
out_ro:
ubifs_ro_mode(c, err);
if (last_reference)