On 7/16/05, Chris Wright <[EMAIL PROTECTED]> wrote:
> * aq ([EMAIL PROTECTED]) wrote:
> > Function lib/cmdline.c:memparse() wrongly calculates the memory if the
> > given string has K/M/G suffix. This patch (against 2.6.13-rc3) fixes
> > the problem. Please apply.
> 
> Patch looks incorrect.
> 
> > --- 2.6.13-rc3/lib/cmdline.c  2005-04-30 10:31:37.000000000 +0900
> > +++ 2.6.13-rc3/lib/cmdline-aq.c       2005-07-16 02:25:26.000000000 +0900
> > @@ -100,10 +100,10 @@ unsigned long long memparse (char *ptr,
> >       switch (**retptr) {
> >       case 'G':
> >       case 'g':
> > -             ret <<= 10;
> > +             ret <<= 30;
> >       case 'M':
> >       case 'm':
> > -             ret <<= 10;
> > +             ret <<= 20;
> >       case 'K':
> >       case 'k':
> >               ret <<= 10;
> 
> Now, G == ret << 80, M == ret << 30...  Notice the fall-thru cases.
> 

oops, this code doesnt use "break" like normally. what a trap!

sorry for the noise :-)

regards,
aq
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to