[linux-dvb] section demux bug

Andrew de Quincey adq_dvb at lidskialf.net
Thu Nov 10 11:16:09 CET 2005


On Thursday 10 Nov 2005 10:06, Ralph Metzler wrote:
> Andrew de Quincey writes:
>  > Hi, I was investigating the section demux code and I think  spotted a
>  > bug... patch attached for review before I check it in:
>  >
>  > --- linux/drivers/media/dvb/dvb-core/dvb_demux.c        27 Oct 2005
>  > 21:03:39 -0000      1.70
>  > +++ linux/drivers/media/dvb/dvb-core/dvb_demux.c        10 Nov 2005
>  > 09:22:35 -0000
>  > @@ -118,7 +118,7 @@
>  >         int i;
>  >
>  >         for (i = 0; i < DVB_DEMUX_MASK_MAX; i++) {
>  > -               u8 xor = f->filter.filter_value[i] ^
>  > feed->feed.sec.secbuf[i]; +               u8 xor =
>  > f->filter.filter_value[i] ^ feed->feed.sec.secbuf[0];
>  >
>  >                 if (f->maskandmode[i] & xor)
>  >                         return 0;
>  >
>  > I think its meant to be comparing the table ID of the section with the
>  > value in each of the possible filters
>
> It does not loop over several filters, just one filter and its values.
>
>  > - i.e. it should always read from secbuf[0].
>
> No, definitely not.

OH! So you mean its a filter on the *first 16 bytes* of a section? I'd 
misunderstood and thought it was a list of seperate *section id* filters.



More information about the linux-dvb mailing list