mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 14:42:24 +00:00
fix default __strnlen_user macro
The existing __strnlen_user macro simply resolved to strnlen. However, the count returned by strnlen_user should include the NULL byte. This patch fixes the __strnlen_user macro to include the NULL byte in the count. Signed-off-by: Mark Salter <msalter@redhat.com> Acked-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
parent
3ee72ca992
commit
830f5800ac
@ -289,9 +289,14 @@ strncpy_from_user(char *dst, const char __user *src, long count)
|
||||
* Return 0 on exception, a value greater than N if too long
|
||||
*/
|
||||
#ifndef __strnlen_user
|
||||
#define __strnlen_user strnlen
|
||||
#define __strnlen_user(s, n) (strnlen((s), (n)) + 1)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Unlike strnlen, strnlen_user includes the nul terminator in
|
||||
* its returned count. Callers should check for a returned value
|
||||
* greater than N as an indication the string is too long.
|
||||
*/
|
||||
static inline long strnlen_user(const char __user *src, long n)
|
||||
{
|
||||
if (!access_ok(VERIFY_READ, src, 1))
|
||||
|
Loading…
Reference in New Issue
Block a user