[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