From 1c3a0dd84179050b345ef850ba8e857b8fd6f1a5 Mon Sep 17 00:00:00 2001 From: Tyler Hicks Date: Tue, 28 Jul 2009 13:57:01 -0500 Subject: [PATCH] --- yaml --- r: 155904 b: refs/heads/master c: 6352a29305373ae6196491e6d4669f301e26492e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/ecryptfs/keystore.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index d2e25ee10f9c..2e5b1cff86f6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4733fd328f14280900435d9dbae1487d110a4d56 +refs/heads/master: 6352a29305373ae6196491e6d4669f301e26492e diff --git a/trunk/fs/ecryptfs/keystore.c b/trunk/fs/ecryptfs/keystore.c index af737bb56cb7..5414253d4c97 100644 --- a/trunk/fs/ecryptfs/keystore.c +++ b/trunk/fs/ecryptfs/keystore.c @@ -1449,6 +1449,12 @@ parse_tag_11_packet(unsigned char *data, unsigned char *contents, rc = -EINVAL; goto out; } + if (unlikely((*tag_11_contents_size) > max_contents_bytes)) { + printk(KERN_ERR "Literal data section in tag 11 packet exceeds " + "expected size\n"); + rc = -EINVAL; + goto out; + } if (data[(*packet_size)++] != 0x62) { printk(KERN_WARNING "Unrecognizable packet\n"); rc = -EINVAL;