From ce09b1bb211ad4532206d373e0d3d66da07e5004 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Tue, 5 May 2015 10:20:34 +0200 Subject: [PATCH] iscsi-scst, isert: Add address length check in isert_listen_ioctl() Detected by Coverity. Signed-off-by: Bart Van Assche --- 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 a392679d3..37f778be7 100644 --- a/iscsi-scst/kernel/isert-scst/isert_login.c +++ b/iscsi-scst/kernel/isert-scst/isert_login.c @@ -395,6 +395,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)) {