From: Dan Carpenter Date: Wed, 18 Jan 2012 09:56:02 +0000 (+0300) Subject: nfsd: don't allow zero length strings in cache_parse() X-Git-Tag: v3.3.1~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7b6b691420ef8ec6f1531b60b5a4a6319096a29c;p=thirdparty%2Fkernel%2Fstable.git 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 Signed-off-by: J. Bruce Fields Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c index 465df9ae1046b..8c6598e0334a0 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';