aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2012-01-18 12:56:02 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-02 09:27:21 -0700
commit8bb8ebe7b77228209006ea945104e37294608b93 (patch)
treeaf8bec9326714b57304226280f2edad9cc1c6445 /net/sunrpc
parent12810ac9f485e5ea6106181b3dcb690e986cc06a (diff)
downloadkernel_samsung_smdk4412-8bb8ebe7b77228209006ea945104e37294608b93.zip
kernel_samsung_smdk4412-8bb8ebe7b77228209006ea945104e37294608b93.tar.gz
kernel_samsung_smdk4412-8bb8ebe7b77228209006ea945104e37294608b93.tar.bz2
nfsd: don't allow zero length strings in cache_parse()
commit 6d8d17499810479eabd10731179c04b2ca22152f upstream. There is no point in passing a zero length string here and quite a few of that cache_parse() implementations will Oops if count is zero. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/sunrpc')
-rw-r--r--net/sunrpc/cache.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c
index 72ad836..4530a91 100644
--- a/net/sunrpc/cache.c
+++ b/net/sunrpc/cache.c
@@ -828,6 +828,8 @@ static ssize_t cache_do_downcall(char *kaddr, const char __user *buf,
{
ssize_t ret;
+ if (count == 0)
+ return -EINVAL;
if (copy_from_user(kaddr, buf, count))
return -EFAULT;
kaddr[count] = '\0';