hostap: fixup strlen() math
In hostap_add_interface() we do: sprintf(dev->name, "%s%s", prefix, name); dev->name has IFNAMSIZ (16) characters. prefix is local->dev->name. name is "wds%d" strlen() returns the number of characters in the string not counting the NULL so if we have a string with 11 characters we get "12345678901wds%d" which is 16 characters and a NULL so we're past the end of the array. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
b85aeb5180
commit
8b967e41e0
1 changed files with 1 additions and 1 deletions
|
@ -186,7 +186,7 @@ int prism2_wds_add(local_info_t *local, u8 *remote_addr,
|
|||
return -ENOBUFS;
|
||||
|
||||
/* verify that there is room for wds# postfix in the interface name */
|
||||
if (strlen(local->dev->name) > IFNAMSIZ - 5) {
|
||||
if (strlen(local->dev->name) >= IFNAMSIZ - 5) {
|
||||
printk(KERN_DEBUG "'%s' too long base device name\n",
|
||||
local->dev->name);
|
||||
return -EINVAL;
|
||||
|
|
Loading…
Reference in a new issue