Opened 12 years ago

Closed 12 years ago

#5129 closed defect (fixed)

pid can overrun _pid_status

Reported by: Erik Hovland <erik@…> Owned by: Isaac Richards
Priority: minor Milestone: unknown
Component: mythtv Version: head
Severity: low Keywords:
Cc: Ticket locked: no

Description

In DVBRecorder::ProcessAVTSPacket() the array _pid_status acts as a lookup table of PIDs. It has 0x1fff entries (which means the last index is 0x1ffe). 0x1fff is a valid (if null) pid. So if a 0x1fff comes up ProcessAVTSPacket() will try to shove it into _pid_status, which will overrun that array. That function should treat the 0x1fff appropriately instead of overrunning.

Attachments (1)

libs_libmythtv_dvbrecorder.cpp-make-sure-pid-doesnt-overrun-pid_status.patch (927 bytes) - added by Erik Hovland <erik@…> 12 years ago.
check pid for 0x1fff before putting it into _pid_status

Download all attachments as: .zip

Change History (2)

Changed 12 years ago by Erik Hovland <erik@…>

check pid for 0x1fff before putting it into _pid_status

comment:1 Changed 12 years ago by danielk

Resolution: fixed
Status: newclosed

(In [17210]) Fixes #5129. Increment the size of the pid tracker tables by one so things don't go boom if someone decides to record the mpeg stuffing stream; I could see myself wanting to do that for debugging purposes, so this is not wholly theoretical.

Note: See TracTickets for help on using tickets.