mpegts: Make sure we don't return uninitialized packets
This fixes crashes, where the demuxer could return 0 even if the returned AVPacket isn't initialized at all. This could happen if running into EOF or running out of probesize with non-seekable sources. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
		
							parent
							
								
									1b4f085772
								
							
						
					
					
						commit
						df8aa4598c
					
				@ -2020,6 +2020,7 @@ static int mpegts_read_packet(AVFormatContext *s,
 | 
			
		||||
    MpegTSContext *ts = s->priv_data;
 | 
			
		||||
    int ret, i;
 | 
			
		||||
 | 
			
		||||
    pkt->size = -1;
 | 
			
		||||
    ts->pkt = pkt;
 | 
			
		||||
    ret = handle_packets(ts, 0);
 | 
			
		||||
    if (ret < 0) {
 | 
			
		||||
@ -2037,6 +2038,8 @@ static int mpegts_read_packet(AVFormatContext *s,
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (!ret && pkt->size < 0)
 | 
			
		||||
        ret = AVERROR(EINTR);
 | 
			
		||||
    return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user