fs/ntfs3: Fix a memory leak on object opts
authorColin Ian King <colin.king@canonical.com>
Fri, 10 Sep 2021 10:02:02 +0000 (11:02 +0100)
committerKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
Mon, 20 Sep 2021 15:53:12 +0000 (18:53 +0300)
Currently a failed allocation on sbi->upcase will cause an exit via
the label free_sbi causing a memory leak on object opts. Fix this by
re-ordering the exit paths free_opts and free_sbi so that kfree's occur
in the reverse allocation order.

Addresses-Coverity: ("Resource leak")
Fixes: 27fac77707a1 ("fs/ntfs3: Init spi more in init_fs_context than fill_super")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Kari Argillander <kari.argillander@gmail.com>
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
fs/ntfs3/super.c

index cefb9ddaf4db78890e9dc389416f47323bf33bcd..6a535b144ff961036704ba5a5ac5b1cab7ae9fb4 100644 (file)
@@ -1393,10 +1393,10 @@ ok:
        fc->ops = &ntfs_context_ops;
 
        return 0;
-free_opts:
-       kfree(opts);
 free_sbi:
        kfree(sbi);
+free_opts:
+       kfree(opts);
        return -ENOMEM;
 }