summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Seppanen <eric@purestorage.com>2013-11-20 14:19:51 -0800
committerBen Hutchings <ben@decadent.org.uk>2014-01-03 04:33:23 +0000
commit6d8fcca06072afed5d917c980ac233abd4f03e0b (patch)
tree9edbfbe0291ee9b74ebafe06005ef57038ccf98b
parent3bf4e8c8072d395099cde6f6f84b69ea015b70d8 (diff)
downloadlwn-6d8fcca06072afed5d917c980ac233abd4f03e0b.tar.gz
lwn-6d8fcca06072afed5d917c980ac233abd4f03e0b.zip
iscsi-target: fix extract_param to handle buffer length corner case
commit 369653e4fb511928511b0ce81f41c812ff1f28b6 upstream. extract_param() is called with max_length set to the total size of the output buffer. It's not safe to allow a parameter length equal to the buffer size as the terminating null would be written one byte past the end of the output buffer. Signed-off-by: Eric Seppanen <eric@purestorage.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> [bwh: Backported to 3.2: adjust context] Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r--drivers/target/iscsi/iscsi_target_nego.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/target/iscsi/iscsi_target_nego.c b/drivers/target/iscsi/iscsi_target_nego.c
index 7d85f8890162..3486d129eb9c 100644
--- a/drivers/target/iscsi/iscsi_target_nego.c
+++ b/drivers/target/iscsi/iscsi_target_nego.c
@@ -89,7 +89,7 @@ int extract_param(
if (len < 0)
return -1;
- if (len > max_length) {
+ if (len >= max_length) {
pr_err("Length of input: %d exeeds max_length:"
" %d\n", len, max_length);
return -1;