[SCSI] aacraid: use lower snprintf() limit
authorDan Carpenter <dan.carpenter@oracle.com>
Sat, 8 Oct 2011 10:45:07 +0000 (13:45 +0300)
committerJames Bottomley <JBottomley@Parallels.com>
Thu, 20 Oct 2011 15:07:42 +0000 (10:07 -0500)
This is just a cleanup, to silence static checker warnings.  It
doesn't change how the code works.

buf[] can either be BUF_SIZE if this is called from sysfs, or it can
be 16 if it's called from aac_get_adapter_info() via
aac_get_serial_number().  We use the smaller limit here.

sizeof(dev->supplement_adapter_info.MfgPcbaSerialNo) is 12 so there
is actually no chance of hitting either limit.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Achim Leubner <Achim_Leubner@pmc-sierra.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/aacraid/linit.c

index 3382475..4aa76d6 100644 (file)
@@ -894,16 +894,17 @@ static ssize_t aac_show_serial_number(struct device *device,
        int len = 0;
 
        if (le32_to_cpu(dev->adapter_info.serial[0]) != 0xBAD0)
-               len = snprintf(buf, PAGE_SIZE, "%06X\n",
+               len = snprintf(buf, 16, "%06X\n",
                  le32_to_cpu(dev->adapter_info.serial[0]));
        if (len &&
          !memcmp(&dev->supplement_adapter_info.MfgPcbaSerialNo[
            sizeof(dev->supplement_adapter_info.MfgPcbaSerialNo)-len],
          buf, len-1))
-               len = snprintf(buf, PAGE_SIZE, "%.*s\n",
+               len = snprintf(buf, 16, "%.*s\n",
                  (int)sizeof(dev->supplement_adapter_info.MfgPcbaSerialNo),
                  dev->supplement_adapter_info.MfgPcbaSerialNo);
-       return len;
+
+       return min(len, 16);
 }
 
 static ssize_t aac_show_max_channel(struct device *device,