summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Halcrow <mhalcrow@google.com>2014-11-26 09:09:16 -0800
committerTyler Hicks <tyhicks@canonical.com>2014-11-26 15:55:02 -0600
commit942080643bce061c3dd9d5718d3b745dcb39a8bc (patch)
treeec9054a49cb18eb8692fb3360686b80586d70357
parent831115af5ca36d713355bf1b379081691eca8b3f (diff)
downloadlinux-stable-942080643bce061c3dd9d5718d3b745dcb39a8bc.tar.gz
linux-stable-942080643bce061c3dd9d5718d3b745dcb39a8bc.tar.bz2
linux-stable-942080643bce061c3dd9d5718d3b745dcb39a8bc.zip
eCryptfs: Remove buggy and unnecessary write in file name decode routine
Dmitry Chernenkov used KASAN to discover that eCryptfs writes past the end of the allocated buffer during encrypted filename decoding. This fix corrects the issue by getting rid of the unnecessary 0 write when the current bit offset is 2. Signed-off-by: Michael Halcrow <mhalcrow@google.com> Reported-by: Dmitry Chernenkov <dmitryc@google.com> Suggested-by: Kees Cook <keescook@chromium.org> Cc: stable@vger.kernel.org # v2.6.29+: 51ca58d eCryptfs: Filename Encryption: Encoding and encryption functions Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
-rw-r--r--fs/ecryptfs/crypto.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c
index 2f6735dbf1a9..31b148f3e772 100644
--- a/fs/ecryptfs/crypto.c
+++ b/fs/ecryptfs/crypto.c
@@ -1917,7 +1917,6 @@ ecryptfs_decode_from_filename(unsigned char *dst, size_t *dst_size,
break;
case 2:
dst[dst_byte_offset++] |= (src_byte);
- dst[dst_byte_offset] = 0;
current_bit_offset = 0;
break;
}