[FFmpeg-cvslog] avcodec/h264_sei: fix the size of user data unregistered

Limin Wang git at videolan.org
Sat Dec 21 03:47:14 EET 2019


ffmpeg | branch: master | Limin Wang <lance.lmwang at gmail.com> | Thu Dec 19 13:09:06 2019 +0800| [5e5bbd21e6623074370dbeefd595307fa3dfb648] | committer: James Almer

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 at gmail.com>
Signed-off-by: James Almer <jamrial at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5e5bbd21e6623074370dbeefd595307fa3dfb648
---

 libavcodec/h264_sei.c | 6 +++---
 1 file 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;



More information about the ffmpeg-cvslog mailing list