From: Limin Wang <[email protected]>
Signed-off-by: Limin Wang <[email protected]>
---
libavutil/frame.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/libavutil/frame.c b/libavutil/frame.c
index e4038096c2..1a67eda91d 100644
--- a/libavutil/frame.c
+++ b/libavutil/frame.c
@@ -693,14 +693,11 @@ AVFrameSideData *av_frame_new_side_data_from_buf(AVFrame
*frame,
{
AVFrameSideData *ret, **tmp;
- if (!buf)
+ if (!buf || frame->nb_side_data > INT_MAX - 1)
return NULL;
- if (frame->nb_side_data > INT_MAX / sizeof(*frame->side_data) - 1)
- return NULL;
-
- tmp = av_realloc(frame->side_data,
- (frame->nb_side_data + 1) * sizeof(*frame->side_data));
+ tmp = av_realloc_array(frame->side_data,
+ (frame->nb_side_data + 1), sizeof(*frame->side_data));
if (!tmp)
return NULL;
frame->side_data = tmp;
--
2.21.0
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".