iscsi-target: fix extract_param to handle buffer length corner case

Linux-MTD Mailing List linux-mtd at lists.infradead.org
Fri Nov 22 17:59:09 EST 2013


Gitweb:     http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=369653e4fb511928511b0ce81f41c812ff1f28b6
Commit:     369653e4fb511928511b0ce81f41c812ff1f28b6
Parent:     d1fa7a1d506730a5d1211048c2fdacc42373d4d5
Author:     Eric Seppanen <eric at purestorage.com>
AuthorDate: Wed Nov 20 14:19:51 2013 -0800
Committer:  Nicholas Bellinger <nab at linux-iscsi.org>
CommitDate: Wed Nov 20 22:03:28 2013 -0800

    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 at purestorage.com>
    Cc: <stable at vger.kernel.org> #3.1+
    Signed-off-by: Nicholas Bellinger <nab at linux-iscsi.org>
---
 drivers/target/iscsi/iscsi_target_nego.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/target/iscsi/iscsi_target_nego.c b/drivers/target/iscsi/iscsi_target_nego.c
index 21265c9..635751b 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;



More information about the linux-mtd-cvs mailing list