setStreamID(0xC0, 0xC0);
memset(rass_picture_mask, 0, sizeof(rass_picture_mask));
+ memset(rtp_item, 0, sizeof(rtp_item));
if (demux->createPESReader(eApp, m_pes_reader))
eDebug("failed to create PES reader!");
rtp_len[1] = 0x1f & rtp_buf[4];
unsigned char rtplus_osd_tmp[64];
-
- memcpy(rtp_item[rtp_typ[0]],lastmessage+rtp_start[0],rtp_len[0]+1);
- rtp_item[rtp_typ[0]][rtp_len[0]+1]=0;
+
+ if (rtp_start[0] < 66 && (rtp_len[0]+rtp_start[0]) < 66)
+ {
+ memcpy(rtp_item[rtp_typ[0]],lastmessage+rtp_start[0],rtp_len[0]+1);
+ rtp_item[rtp_typ[0]][rtp_len[0]+1]=0;
+ }
if (rtp_typ[0] != rtp_typ[1])
{
- memcpy(rtp_item[rtp_typ[1]],lastmessage+rtp_start[1],rtp_len[1]+1);
- rtp_item[rtp_typ[1]][rtp_len[1]+1]=0;
+ if (rtp_start[1] < 66 && (rtp_len[1]+rtp_start[1]) < 66)
+ {
+ memcpy(rtp_item[rtp_typ[1]],lastmessage+rtp_start[1],rtp_len[1]+1);
+ rtp_item[rtp_typ[1]][rtp_len[1]+1]=0;
+ }
}
// main RTPlus item_types used by the radio stations: