mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 22:52:35 +02:00
9p: strlen() doesn't count the terminator
commit 5c4bfa17f3 upstream.
This is an off by one bug because strlen() doesn't count the NULL
terminator. We strcpy() addr into a fixed length array of size
UNIX_PATH_MAX later on.
The addr variable is the name of the device being mounted.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
0531e961fc
commit
bc92e1f6c2
|
|
@ -948,7 +948,7 @@ p9_fd_create_unix(struct p9_client *client, const char *addr, char *args)
|
|||
|
||||
csocket = NULL;
|
||||
|
||||
if (strlen(addr) > UNIX_PATH_MAX) {
|
||||
if (strlen(addr) >= UNIX_PATH_MAX) {
|
||||
P9_EPRINTK(KERN_ERR, "p9_trans_unix: address too long: %s\n",
|
||||
addr);
|
||||
err = -ENAMETOOLONG;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user