Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1409822 > unrolled thread
| Started by | Eduardo Valentin <edubezval@gmail.com> |
|---|---|
| First post | 2016-05-31 08:20 +0200 |
| Last post | 2016-05-31 08:20 +0200 |
| Articles | 1 — 1 participant |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCHv4 20/48] thermal: core: treat correctly the return value of *scanf calls Eduardo Valentin <edubezval@gmail.com> - 2016-05-31 08:20 +0200
| From | Eduardo Valentin <edubezval@gmail.com> |
|---|---|
| Date | 2016-05-31 08:20 +0200 |
| Subject | [PATCHv4 20/48] thermal: core: treat correctly the return value of *scanf calls |
| Message-ID | <rELbY-79h-9@gated-at.bofh.it> |
This patch checks the return value of all calls to *scanf. The check is to simply match the number of expect inputs. The current code does not do any recovery in case the number of treated inputs are different than the expected. Therefore, keeping the same behavior. Cc: Zhang Rui <rui.zhang@intel.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Eduardo Valentin <edubezval@gmail.com> --- drivers/thermal/thermal_core.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c index 71fb762..9545e15 100644 --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c @@ -817,7 +817,7 @@ trip_point_type_show(struct device *dev, struct device_attribute *attr, if (!tz->ops->get_trip_type) return -EPERM; - if (!sscanf(attr->attr.name, "trip_point_%d_type", &trip)) + if (sscanf(attr->attr.name, "trip_point_%d_type", &trip) != 1) return -EINVAL; result = tz->ops->get_trip_type(tz, trip, &type); @@ -849,7 +849,7 @@ trip_point_temp_store(struct device *dev, struct device_attribute *attr, if (!tz->ops->set_trip_temp) return -EPERM; - if (!sscanf(attr->attr.name, "trip_point_%d_temp", &trip)) + if (sscanf(attr->attr.name, "trip_point_%d_temp", &trip) != 1) return -EINVAL; if (kstrtoint(buf, 10, &temperature)) @@ -875,7 +875,7 @@ trip_point_temp_show(struct device *dev, struct device_attribute *attr, if (!tz->ops->get_trip_temp) return -EPERM; - if (!sscanf(attr->attr.name, "trip_point_%d_temp", &trip)) + if (sscanf(attr->attr.name, "trip_point_%d_temp", &trip) != 1) return -EINVAL; ret = tz->ops->get_trip_temp(tz, trip, &temperature); @@ -897,7 +897,7 @@ trip_point_hyst_store(struct device *dev, struct device_attribute *attr, if (!tz->ops->set_trip_hyst) return -EPERM; - if (!sscanf(attr->attr.name, "trip_point_%d_hyst", &trip)) + if (sscanf(attr->attr.name, "trip_point_%d_hyst", &trip) != 1) return -EINVAL; if (kstrtoint(buf, 10, &temperature)) @@ -924,7 +924,7 @@ trip_point_hyst_show(struct device *dev, struct device_attribute *attr, if (!tz->ops->get_trip_hyst) return -EPERM; - if (!sscanf(attr->attr.name, "trip_point_%d_hyst", &trip)) + if (sscanf(attr->attr.name, "trip_point_%d_hyst", &trip) != 1) return -EINVAL; ret = tz->ops->get_trip_hyst(tz, trip, &temperature); @@ -939,7 +939,7 @@ passive_store(struct device *dev, struct device_attribute *attr, struct thermal_zone_device *tz = to_thermal_zone(dev); int state; - if (!sscanf(buf, "%d\n", &state)) + if (sscanf(buf, "%d\n", &state) != 1) return -EINVAL; /* sanity check: values below 1000 millicelcius don't make sense @@ -1385,7 +1385,7 @@ thermal_cooling_device_cur_state_store(struct device *dev, unsigned long state; int result; - if (!sscanf(buf, "%ld\n", &state)) + if (sscanf(buf, "%ld\n", &state) != 1) return -EINVAL; if ((long)state < 0) -- 2.1.4
Back to top | Article view | linux.kernel
csiph-web