diff mbox

[1/2] scsi: myrs: cleanup myrs_store_suppress_enclosure_messages()

Message ID 20180220094535.GA22646@mwanda (mailing list archive)
State Not Applicable
Headers show

Commit Message

Dan Carpenter Feb. 20, 2018, 9:45 a.m. UTC
This code causes a static checker because we have an upper bound on
"value" but not a lower bound.  In other words "value" can be s32min-2.
It's harmless but really it should just be bool.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
diff mbox

Patch

diff --git a/drivers/scsi/myrs.c b/drivers/scsi/myrs.c
index 3b87c6942a8e..eaa9d143a282 100644
--- a/drivers/scsi/myrs.c
+++ b/drivers/scsi/myrs.c
@@ -1590,15 +1590,12 @@  static ssize_t myrs_store_suppress_enclosure_messages(struct device *dev,
 {
 	struct scsi_device *sdev = to_scsi_device(dev);
 	myrs_hba *cs = (myrs_hba *)sdev->host->hostdata;
-	char tmpbuf[8];
-	ssize_t len;
-	int value;
+	bool value;
+	int ret;
 
-	len = count > sizeof(tmpbuf) - 1 ? sizeof(tmpbuf) - 1 : count;
-	strncpy(tmpbuf, buf, len);
-	tmpbuf[len] = '\0';
-	if (sscanf(tmpbuf, "%d", &value) != 1 || value > 2)
-		return -EINVAL;
+	ret = kstrtobool(buf, &value);
+	if (ret)
+		return ret;
 
 	cs->disable_enc_msg = value;
 	return count;