mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2024-12-10 00:05:14 -05:00
33 lines
1.2 KiB
Diff
33 lines
1.2 KiB
Diff
|
From 942080643bce061c3dd9d5718d3b745dcb39a8bc Mon Sep 17 00:00:00 2001
|
||
|
From: Michael Halcrow <mhalcrow@google.com>
|
||
|
Date: Wed, 26 Nov 2014 09:09:16 -0800
|
||
|
Subject: [PATCH] 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>
|
||
|
---
|
||
|
fs/ecryptfs/crypto.c | 1 -
|
||
|
1 file changed, 1 deletion(-)
|
||
|
|
||
|
diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c
|
||
|
index 2f6735dbf1a9d..31b148f3e7729 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;
|
||
|
}
|