diff options
author | Limin Wang <lance.lmwang@gmail.com> | 2019-12-19 13:09:06 +0800 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2019-12-20 22:46:04 -0300 |
commit | 5e5bbd21e6623074370dbeefd595307fa3dfb648 (patch) | |
tree | 9a6ac992f368a7d716686f3732e4c376ccf26070 | |
parent | a86bb2f606da64d287b1dd807a4f691c39f1a1ec (diff) | |
download | ffmpeg-5e5bbd21e6623074370dbeefd595307fa3dfb648.tar.gz |
avcodec/h264_sei: fix the size of user data unregistered
According to the specifications, the payloadSize includes the 16-byte size of UUID.
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r-- | libavcodec/h264_sei.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/h264_sei.c b/libavcodec/h264_sei.c index d4eb9c0dab..a565feabe2 100644 --- a/libavcodec/h264_sei.c +++ b/libavcodec/h264_sei.c @@ -247,14 +247,14 @@ static int decode_unregistered_user_data(H264SEIUnregistered *h, GetBitContext * uint8_t *user_data; int e, build, i; - if (size < 16 || size >= INT_MAX - 16) + if (size < 16 || size >= INT_MAX - 1) return AVERROR_INVALIDDATA; - user_data = av_malloc(16 + size + 1); + user_data = av_malloc(size + 1); if (!user_data) return AVERROR(ENOMEM); - for (i = 0; i < size + 16; i++) + for (i = 0; i < size; i++) user_data[i] = get_bits(gb, 8); user_data[i] = 0; |