From 40a90a705dbf3ff685ba5847f5a9229353c86cc9 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Wed, 17 Jun 2015 00:19:27 +0000 Subject: [PATCH] isert-scst: Add address length check in isert_listen_ioctl() Detected by Coverity. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6365 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- iscsi-scst/kernel/isert-scst/isert_login.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/iscsi-scst/kernel/isert-scst/isert_login.c b/iscsi-scst/kernel/isert-scst/isert_login.c index 024d5bba8..688fd637b 100644 --- a/iscsi-scst/kernel/isert-scst/isert_login.c +++ b/iscsi-scst/kernel/isert-scst/isert_login.c @@ -389,6 +389,13 @@ static long isert_listen_ioctl(struct file *filp, unsigned int cmd, goto out; } + if (unlikely(dev->info.addr_len > sizeof(dev->info.addr))) { + PRINT_ERROR("Invalid address length %zd > %zd", + dev->info.addr_len, sizeof(dev->info.addr)); + res = -EINVAL; + goto out; + } + portal = isert_portal_add((struct sockaddr *)&dev->info.addr, dev->info.addr_len); if (IS_ERR(portal)) {