Bluetooth: Use strict_strtoul instead of simple_strtoul
authorTomas Winkler <tomas.winkler@intel.com>
Tue, 9 Mar 2010 19:38:03 +0000 (21:38 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 10 May 2010 07:34:04 +0000 (09:34 +0200)
Use strict_strtoul as suggested by checkpatch.pl for more strict input
checking.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/hci_sysfs.c

index a978449ab04d13af1a791daed283b2d8c133f8e0..463ffa4fe042dee7539205ee4fb7e713fa145f1c 100644 (file)
@@ -281,11 +281,9 @@ static ssize_t show_idle_timeout(struct device *dev, struct device_attribute *at
 static ssize_t store_idle_timeout(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
 {
        struct hci_dev *hdev = dev_get_drvdata(dev);
-       char *ptr;
-       __u32 val;
+       unsigned long val;
 
-       val = simple_strtoul(buf, &ptr, 10);
-       if (ptr == buf)
+       if (strict_strtoul(buf, 0, &val) < 0)
                return -EINVAL;
 
        if (val != 0 && (val < 500 || val > 3600000))
@@ -305,11 +303,9 @@ static ssize_t show_sniff_max_interval(struct device *dev, struct device_attribu
 static ssize_t store_sniff_max_interval(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
 {
        struct hci_dev *hdev = dev_get_drvdata(dev);
-       char *ptr;
-       __u16 val;
+       unsigned long val;
 
-       val = simple_strtoul(buf, &ptr, 10);
-       if (ptr == buf)
+       if (strict_strtoul(buf, 0, &val) < 0)
                return -EINVAL;
 
        if (val < 0x0002 || val > 0xFFFE || val % 2)
@@ -332,11 +328,9 @@ static ssize_t show_sniff_min_interval(struct device *dev, struct device_attribu
 static ssize_t store_sniff_min_interval(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
 {
        struct hci_dev *hdev = dev_get_drvdata(dev);
-       char *ptr;
-       __u16 val;
+       unsigned long val;
 
-       val = simple_strtoul(buf, &ptr, 10);
-       if (ptr == buf)
+       if (strict_strtoul(buf, 0, &val) < 0)
                return -EINVAL;
 
        if (val < 0x0002 || val > 0xFFFE || val % 2)