ubifs: ensure zero err is returned on successful return
authorColin Ian King <colin.king@canonical.com>
Fri, 16 Dec 2016 13:32:39 +0000 (13:32 +0000)
committerRichard Weinberger <richard@nod.at>
Tue, 17 Jan 2017 12:57:32 +0000 (13:57 +0100)
err is no longer being set on a successful return path, causing
a garbage value being returned. Fix this by setting err to zero
for the successful return path.

Found with static analysis by CoverityScan, CID 1389473

Fixes: 7799953b34d18 ("ubifs: Implement encrypt/decrypt for all IO")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
fs/ubifs/journal.c

index a459211a1c21059ff8739566d873b2093285b495..b75f1a61afe312a5b0230bf162f6481d7ca6bc6d 100644 (file)
@@ -1319,6 +1319,7 @@ static int truncate_data_node(const struct ubifs_info *c, const struct inode *in
        dn->compr_type = cpu_to_le16(compr_type);
        dn->size = cpu_to_le32(*new_len);
        *new_len = UBIFS_DATA_NODE_SZ + out_len;
+       err = 0;
 out:
        kfree(buf);
        return err;