ecryptfs: use after free

The "full_alg_name" variable is used on a couple error paths, so we
shouldn't free it until the end.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>

authored by Dan Carpenter and committed by Tyler Hicks ece550f5 4aa25bcb

+2 -2
+2 -2
fs/ecryptfs/crypto.c
··· 1748 1748 char *cipher_name, size_t *key_size) 1749 1749 { 1750 1750 char dummy_key[ECRYPTFS_MAX_KEY_BYTES]; 1751 - char *full_alg_name; 1751 + char *full_alg_name = NULL; 1752 1752 int rc; 1753 1753 1754 1754 *key_tfm = NULL; ··· 1763 1763 if (rc) 1764 1764 goto out; 1765 1765 *key_tfm = crypto_alloc_blkcipher(full_alg_name, 0, CRYPTO_ALG_ASYNC); 1766 - kfree(full_alg_name); 1767 1766 if (IS_ERR(*key_tfm)) { 1768 1767 rc = PTR_ERR(*key_tfm); 1769 1768 printk(KERN_ERR "Unable to allocate crypto cipher with name " ··· 1785 1786 goto out; 1786 1787 } 1787 1788 out: 1789 + kfree(full_alg_name); 1788 1790 return rc; 1789 1791 } 1790 1792