diff options
author | Jakub Fornal <jakubfornal@gklab-20-101.igk.intel.com> | 2018-01-29 09:11:38 +0100 |
---|---|---|
committer | Jakub Fornal <jakubfornal@gklab-20-101.igk.intel.com> | 2018-01-29 09:11:38 +0100 |
commit | 24b3f65c3a781e8ac9599dfe75c9fb21a059cfa2 (patch) | |
tree | f6941c555ebda22e620d98294e26cc4b48f417c5 | |
parent | 2a901df04ae7a741581dbd28b7670340d2e32d44 (diff) | |
download | Open-AVB-24b3f65c3a781e8ac9599dfe75c9fb21a059cfa2.tar.gz |
checking whether iface string is null-terminated in igb_bind
-rw-r--r-- | kmod/igb/igb_main.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/kmod/igb/igb_main.c b/kmod/igb/igb_main.c index c8a4a7e3..a55a2502 100644 --- a/kmod/igb/igb_main.c +++ b/kmod/igb/igb_main.c @@ -10218,8 +10218,15 @@ static int igb_bind(struct file *file, void __user *argp) if (copy_from_user(&req, argp, sizeof(req))) return -EFAULT; - - printk("bind to iface %s\n", req.iface); + + if (req.iface[IGB_BIND_NAMESZ-1] == 0) { + printk("bind to iface %s\n", req.iface); + } else { + //invalid argument passed, + //iface string not null-terminated + printk("Invalid argument passed, iface string not null-terminated\n"); + return -EINVAL; + } if (igb_priv == NULL) { printk("cannot find private data!\n"); |