diff --git a/multimedia/ffmpeg/Makefile b/multimedia/ffmpeg/Makefile index 8e6749ed0a46..588f27e8a141 100644 --- a/multimedia/ffmpeg/Makefile +++ b/multimedia/ffmpeg/Makefile @@ -7,6 +7,7 @@ PORTNAME= ffmpeg PORTVERSION= 0.5 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= multimedia audio ipv6 net MASTER_SITES= http://ffmpeg.org/releases/ diff --git a/multimedia/ffmpeg/files/patch-libavformat-sierravmd.c b/multimedia/ffmpeg/files/patch-libavformat-sierravmd.c new file mode 100644 index 000000000000..5c5e61694f70 --- /dev/null +++ b/multimedia/ffmpeg/files/patch-libavformat-sierravmd.c @@ -0,0 +1,12 @@ +--- libavformat/sierravmd.c ++++ libavformat/sierravmd.c +@@ -154,7 +154,7 @@ static int vmd_read_header(AVFormatContext *s, + vmd->frame_table = NULL; + sound_buffers = AV_RL16(&vmd->vmd_header[808]); + raw_frame_table_size = vmd->frame_count * 6; +- if(vmd->frame_count * vmd->frames_per_block >= UINT_MAX / sizeof(vmd_frame)){ ++ if(vmd->frame_count * vmd->frames_per_block >= (UINT_MAX - sound_buffers) / sizeof(vmd_frame)){ + av_log(s, AV_LOG_ERROR, "vmd->frame_count * vmd->frames_per_block too large\n"); + return -1; + } +