ecryptfs: Fix memory leakage in keystore.c
authorGeyslan G. Bem <geyslan@gmail.com>
Fri, 11 Oct 2013 19:49:16 +0000 (16:49 -0300)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 28 Nov 2013 14:02:04 +0000 (14:02 +0000)
commit 3edc8376c06133e3386265a824869cad03a4efd4 upstream.

In 'decrypt_pki_encrypted_session_key' function:

Initializes 'payload' pointer and releases it on exit.

Signed-off-by: Geyslan G. Bem <geyslan@gmail.com>
Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
fs/ecryptfs/keystore.c

index ac1ad48..5ce56e7 100644 (file)
@@ -1151,7 +1151,7 @@ decrypt_pki_encrypted_session_key(struct ecryptfs_auth_tok *auth_tok,
        struct ecryptfs_msg_ctx *msg_ctx;
        struct ecryptfs_message *msg = NULL;
        char *auth_tok_sig;
-       char *payload;
+       char *payload = NULL;
        size_t payload_len;
        int rc;
 
@@ -1206,6 +1206,7 @@ decrypt_pki_encrypted_session_key(struct ecryptfs_auth_tok *auth_tok,
 out:
        if (msg)
                kfree(msg);
+       kfree(payload);
        return rc;
 }