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.