diff options
author | Eric Seppanen | 2013-11-20 14:19:51 -0800 |
---|---|---|
committer | Nicholas Bellinger | 2013-11-20 22:03:28 -0800 |
commit | 369653e4fb511928511b0ce81f41c812ff1f28b6 (patch) | |
tree | 1e6f4cbb7ac88c09169b4eda304547c13a1cc307 /drivers/target | |
parent | d1fa7a1d506730a5d1211048c2fdacc42373d4d5 (diff) |
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')
-rw-r--r-- | drivers/target/iscsi/iscsi_target_nego.c | 2 |
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; |