On Wed, 2013-04-10 at 10:41 +0300, Andy Shevchenko wrote:
> On Tue, 2013-04-09 at 17:38 +0200, Samuel Thibault wrote:
> > Andy Shevchenko, le Tue 09 Apr 2013 15:22:15 +0300, a écrit :
> > > @@ -349,21 +349,8 @@ char *spk_xlate(char *s)
> > > num = (*p1++)&7;
> > > }
> > > *p++ = num;
> > > - } else if (*p1 == 'x' &&
> > > - strchr(hx, p1[1]) && strchr(hx, p1[2])) {
> > ...
> > > + } else if (*p1 == 'x' && !hex2bin(&num, p1 + 1, 1)) {
> > > + p1 += 3;
> >
> > Checking it again, I realize that this does not check p1[1]!=0 and
> > p1[2]!=0 any more ; it has to because hex2bin does not perform the
> > check (and could thus erroneously dereference p1[2]).
>
> Good point.
>
> I don't remember the reason why hex2bin goes to do one check instead of
> two, but here we could apply one check more or do something better. Let
> me think a bit.
Samuel, I rewrote xlate() function in more generic way and published
that in LKML (you should be in the Cc list). It would be nice if you can
review that.
--
Andy Shevchenko <[email protected]>
Intel Finland Oy
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel