Quoting Vittorio Giovara (2016-06-10 00:35:03)
> This mimics the behaviour of other av_*_new_side_data().
> This is not caught by the malloc check, since AV_INPUT_BUFFER_PADDING_SIZE
> is always added to the allocated size.
> 
> Signed-off-by: Vittorio Giovara <[email protected]>
> ---
> This is assuming that packet side data cannot be used empty.
> [documentation needed]
> Vittorio
> 
>  libavcodec/avpacket.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c
> index 04d6244..76fc4eb 100644
> --- a/libavcodec/avpacket.c
> +++ b/libavcodec/avpacket.c
> @@ -265,7 +265,7 @@ uint8_t *av_packet_new_side_data(AVPacket *pkt, enum 
> AVPacketSideDataType type,
>      int ret;
>      uint8_t *data;
>  
> -    if ((unsigned)size > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE)
> +    if (!size || (unsigned)size > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE)
>          return NULL;
>      data = av_malloc(size + AV_INPUT_BUFFER_PADDING_SIZE);
>      if (!data)
> -- 
> 2.8.3

Should be ok. Cannot think of a reason to have empty side data.

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

Reply via email to