From: Eric Seppanen Date: Wed, 20 Nov 2013 22:19:51 +0000 (-0800) Subject: iscsi-target: fix extract_param to handle buffer length corner case X-Git-Tag: firefly_0821_release~6453^2~184 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e97f132f0e66893138f64b681cddff2d2ff37b53;p=firefly-linux-kernel-4.4.55.git 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 Signed-off-by: Nicholas Bellinger Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/target/iscsi/iscsi_target_nego.c b/drivers/target/iscsi/iscsi_target_nego.c index cd5018ff9cd7..72d9dec991c0 100644 --- a/drivers/target/iscsi/iscsi_target_nego.c +++ b/drivers/target/iscsi/iscsi_target_nego.c @@ -90,7 +90,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;