[PATCH] UBI: Fix check on unsigned in ytes_str_to_int()

Artem Bityutskiy dedekind at infradead.org
Tue Oct 20 03:20:17 EDT 2009


On Fri, 2009-10-16 at 14:00 +0200, Roel Kluin wrote:
> result is unsigned, the wrong check was used.
> 
> Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
> ---
> diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c
> index e1f7d0a..14cec04 100644
> --- a/drivers/mtd/ubi/build.c
> +++ b/drivers/mtd/ubi/build.c
> @@ -42,6 +42,7 @@
>  #include <linux/log2.h>
>  #include <linux/kthread.h>
>  #include <linux/reboot.h>
> +#include <linux/kernel.h>
>  #include "ubi.h"
>  
>  /* Maximum length of the 'mtd=' parameter */
> @@ -1257,7 +1258,7 @@ static int __init bytes_str_to_int(const char *str)
>  	unsigned long result;
>  
>  	result = simple_strtoul(str, &endp, 0);
> -	if (str == endp || result < 0) {
> +	if (str == endp || result >= INT_MAX) {
>  		printk(KERN_ERR "UBI error: incorrect bytes count: \"%s\"\n",
>  		       str);
>  		return -EINVAL;

Pushed to ubi-2.6 tree, will send to Linus soon, thanks.

-- 
Best Regards,
Artem Bityutskiy (Артём Битюцкий)




More information about the linux-mtd mailing list