[linux-dvb] section demux bug

Ralph Metzler rjkm at metzlerbros.de
Thu Nov 10 11:06:54 CET 2005


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.


Ralph



More information about the linux-dvb mailing list