summaryrefslogtreecommitdiffstats
path: root/drivers/target/iscsi/iscsi_target_nego.c
diff options
context:
space:
mode:
authorEric Seppanen2013-11-20 23:19:51 +0100
committerNicholas Bellinger2013-11-21 07:03:28 +0100
commit369653e4fb511928511b0ce81f41c812ff1f28b6 (patch)
tree1e6f4cbb7ac88c09169b4eda304547c13a1cc307 /drivers/target/iscsi/iscsi_target_nego.c
parentiscsi-target: Expose default_erl as TPG attribute (diff)
downloadkernel-qcow2-linux-369653e4fb511928511b0ce81f41c812ff1f28b6.tar.gz
kernel-qcow2-linux-369653e4fb511928511b0ce81f41c812ff1f28b6.tar.xz
kernel-qcow2-linux-369653e4fb511928511b0ce81f41c812ff1f28b6.zip
iscsi-target: fix extract_param to handle buffer length corner case
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> Cc: <stable@vger.kernel.org> #3.1+ Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target/iscsi/iscsi_target_nego.c')
-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 21265c9c12b5..635751be5af7 100644
--- a/drivers/target/iscsi/iscsi_target_nego.c
+++ b/drivers/target/iscsi/iscsi_target_nego.c
@@ -88,7 +88,7 @@ int extract_param(
if (len < 0)
return -1;
- if (len > max_length) {
+ if (len >= max_length) {
pr_err("Length of input: %d exceeds max_length:"
" %d\n", len, max_length);
return -1;