eCryptfs: Remove buggy and unnecessary write in file name decode routine
authorMichael Halcrow <mhalcrow@google.com>
Wed, 26 Nov 2014 17:09:16 +0000 (09:09 -0800)
committerTyler Hicks <tyhicks@canonical.com>
Wed, 26 Nov 2014 21:55:02 +0000 (15:55 -0600)
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

index 2f6735dbf1a9ded47999ebc97590221b16eb6925..31b148f3e7729d69ab3ee26639d8e68193243c73 100644 (file)
@@ -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;
                }