UBIFS: fix memory leak on error path
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Tue, 31 May 2011 05:40:40 +0000 (08:40 +0300)
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Fri, 3 Jun 2011 15:12:31 +0000 (18:12 +0300)
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
fs/ubifs/journal.c

index 34b1679e6e3a671684a1f08be42e155ce4a48ded..cef0460f4c54651bbe5c432d8fc4e3307ee45d07 100644 (file)
@@ -669,6 +669,7 @@ out_free:
 
 out_release:
        release_head(c, BASEHD);
+       kfree(dent);
 out_ro:
        ubifs_ro_mode(c, err);
        if (last_reference)