[mythtv-commits] Ticket #2664: Backend SEGFAULT on invalid PMT

MythTV mythtv at cvs.mythtv.org
Thu Jan 11 22:12:19 UTC 2007

#2664: Backend SEGFAULT on invalid PMT
 Reporter:  froedep at googlemail.com  |        Owner:  danielk
     Type:  defect                  |       Status:  closed 
 Priority:  minor                   |    Milestone:  0.21   
Component:  dvb                     |      Version:  head   
 Severity:  low                     |   Resolution:  fixed  
Changes (by danielk):

  * status:  new => closed
  * resolution:  => fixed


 (In [12480]) Fixes #2664. Fixes SEGFAULT on invalid PAT/PMT.

 There were three problems with how we handled table validation:
  * If the DVB card mangled CRCs we didn't perform any validation
  * We performed the validation after the redundancy check, if
     the signal is very noisy we can get in trouble just doing this.
  * We didn't always check the CRC when we should have because the
     HasCRC() function relied on the PES packet structure and the
     PSIP tables depart somewhat from the basic PES packet structure.

 These problems have been fixed in this commit along with a bug in the
 section tracking that was evident in a backtrace of a broken packet
 processing gone awry.

 The code was by myself & Janne, but all the bugs would not have been found
 without the assistance of froedep at googlemail and Simon Kenyon.

 HasCRC() does alias some table ids that are shared amoung the various
 standards that sit on top of MPEG, but AFAIK the aliased tables do all
 seem to agree on whether the table should have a CRC.

Ticket URL: <http://cvs.mythtv.org/trac/ticket/2664#comment:15>
MythTV <http://www.mythtv.org/>

More information about the mythtv-commits mailing list