On 15/12/2016 09:12, Martin Storsjö wrote:
> From: Michael Niedermayer <[email protected]>
> 
> Fixes out of array access.
> 
> Found-by: Paul Cher <[email protected]>
> Reviewed-by: Paul Cher <[email protected]>
> 
> CC: [email protected]
> ---
>  libavformat/rtmppkt.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/libavformat/rtmppkt.c b/libavformat/rtmppkt.c
> index f8c51d0..373c3ea 100644
> --- a/libavformat/rtmppkt.c
> +++ b/libavformat/rtmppkt.c
> @@ -235,6 +235,13 @@ static int rtmp_packet_read_one_chunk(URLContext *h, 
> RTMPPacket *p,
>      if (hdr != RTMP_PS_TWELVEBYTES)
>          timestamp += prev_pkt[channel_id].timestamp;
>  
> +    if (prev_pkt[channel_id].read && size != prev_pkt[channel_id].size) {
> +        av_log(h, AV_LOG_ERROR, "RTMP packet size mismatch %d != %d\n",
> +                                size, prev_pkt[channel_id].size);
> +        ff_rtmp_packet_destroy(&prev_pkt[channel_id]);
> +        prev_pkt[channel_id].read = 0;
> +    }
> +
>      if (!prev_pkt[channel_id].read) {
>          if ((ret = ff_rtmp_packet_create(p, channel_id, type, timestamp,
>                                           size)) < 0)
> 

Why it happens?

If it is ok not to forward an error the log message could be demoted to
verbose.

lu
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to