summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Fornal <jakubfornal@gklab-20-101.igk.intel.com>2018-01-29 09:11:38 +0100
committerJakub Fornal <jakubfornal@gklab-20-101.igk.intel.com>2018-01-29 09:11:38 +0100
commit24b3f65c3a781e8ac9599dfe75c9fb21a059cfa2 (patch)
treef6941c555ebda22e620d98294e26cc4b48f417c5
parent2a901df04ae7a741581dbd28b7670340d2e32d44 (diff)
downloadOpen-AVB-24b3f65c3a781e8ac9599dfe75c9fb21a059cfa2.tar.gz
checking whether iface string is null-terminated in igb_bind
-rw-r--r--kmod/igb/igb_main.c11
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");