On Wed, 21 Mar 2012 16:40:01 +0530, Amit Daniel Kachhap wrote:
> Basically without this patch changing the mode of thermal zone
> is not possible as wrong string size is passed to strncmp.

Actually it is possible,
$ echo -n disabled > mode
works fine. But it fails without the -n, your patch would fix that.

Acked-by: Jean Delvare <kh...@linux-fr.org>

Note that a quick grep suggests that drivers/misc/ad525x_dpot.c,
security/selinux/hooks.c and arch/m68k/sun3/prom/console.c suffer from
the same issue, if you want to fix them too.

> Signed-off-by: Amit Daniel Kachhap <amit.kach...@linaro.org>
> ---
>  drivers/thermal/thermal_sys.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c
> index 220ce7e..96da1af 100644
> --- a/drivers/thermal/thermal_sys.c
> +++ b/drivers/thermal/thermal_sys.c
> @@ -152,9 +152,9 @@ mode_store(struct device *dev, struct device_attribute 
> *attr,
>       if (!tz->ops->set_mode)
>               return -EPERM;
>  
> -     if (!strncmp(buf, "enabled", sizeof("enabled")))
> +     if (!strncmp(buf, "enabled", sizeof("enabled") - 1))
>               result = tz->ops->set_mode(tz, THERMAL_DEVICE_ENABLED);
> -     else if (!strncmp(buf, "disabled", sizeof("disabled")))
> +     else if (!strncmp(buf, "disabled", sizeof("disabled") - 1))
>               result = tz->ops->set_mode(tz, THERMAL_DEVICE_DISABLED);
>       else
>               result = -EINVAL;


-- 
Jean Delvare

_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to