comparison libmpdemux/demux_mpg.c @ 18549:845f94a75729

psm longer than 1018 bytes is not allowed, thus invalid
author nicodvb
date Thu, 18 May 2006 18:05:10 +0000
parents 8486998ba174
children dbd99e1435bb
comparison
equal deleted inserted replaced
18548:d73877c6bb54 18549:845f94a75729
43 unsigned char c, id, type; 43 unsigned char c, id, type;
44 unsigned int plen, prog_len, es_map_len; 44 unsigned int plen, prog_len, es_map_len;
45 mpg_demuxer_t *priv = (mpg_demuxer_t *) demux->priv; 45 mpg_demuxer_t *priv = (mpg_demuxer_t *) demux->priv;
46 46
47 mp_dbg(MSGT_DEMUX,MSGL_V, "PARSE_PSM, len=%d\n", len); 47 mp_dbg(MSGT_DEMUX,MSGL_V, "PARSE_PSM, len=%d\n", len);
48 if(! len) 48 if(! len || len > 1018)
49 return 0; 49 return 0;
50 50
51 c = stream_read_char(demux->stream); 51 c = stream_read_char(demux->stream);
52 if(! (c & 0x80)) { 52 if(! (c & 0x80)) {
53 stream_skip(demux->stream, len - 1); //not yet valid, discard 53 stream_skip(demux->stream, len - 1); //not yet valid, discard