vlc/vlc-3.0 | branch: master | Francois Cartegnie <[email protected]> | Tue May 18 20:15:26 2021 +0200| [e30973a45e8c4f075cf5a6094f500cd3100665f5] | committer: Francois Cartegnie
demux: asf: fix regression with broadcasts some transmit empty <50 bytes data object (cherry picked from commit 4ae85635e5998d1b386b834ad22586e807d60969) > http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=e30973a45e8c4f075cf5a6094f500cd3100665f5 --- modules/demux/asf/asfpacket.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/demux/asf/asfpacket.c b/modules/demux/asf/asfpacket.c index bf3a51f709..d37d75bde2 100644 --- a/modules/demux/asf/asfpacket.c +++ b/modules/demux/asf/asfpacket.c @@ -405,8 +405,8 @@ int DemuxASFPacket( asf_packet_sys_t *p_packetsys, const uint64_t i_read_pos = vlc_stream_Tell( p_demux->s ); if( i_read_pos < i_data_begin || - i_data_packet_min > i_data_end || - i_read_pos > i_data_end - i_data_packet_min ) + (i_data_end && ( i_data_packet_min > i_data_end || + i_read_pos > i_data_end - i_data_packet_min ) ) ) return 0; const uint8_t *p_peek; @@ -477,8 +477,9 @@ int DemuxASFPacket( asf_packet_sys_t *p_packetsys, pkt.send_time = GetDWLE( p_peek + i_skip ); i_skip += 4; /* uint16_t i_packet_duration = GetWLE( p_peek + i_skip ); */ i_skip += 2; - if( pkt.length > i_data_end || - i_read_pos > i_data_end - pkt.length ) + if( i_data_end && + (pkt.length > i_data_end || + i_read_pos > i_data_end - pkt.length) ) { msg_Warn( p_demux, "pkt size %"PRIu32" at %"PRIu64" does not fit data chunk", pkt.length, i_read_pos ); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
