diff mbox

[FFmpeg-devel,3/9] genh: prevent overflow during block alignment calculation

Message ID 892c8420-1cd2-39a4-dfe5-2e80d4557bfc@googlemail.com
State Accepted
Commit 5b0ae88ca6b3eb85dbda1762f16f1b5e7c3aa014
Headers show

Commit Message

Andreas Cadhalpun Jan. 26, 2017, 1:11 a.m. UTC
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
---
 libavformat/genh.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Michael Niedermayer Jan. 29, 2017, 1:32 a.m. UTC | #1
On Thu, Jan 26, 2017 at 02:11:54AM +0100, Andreas Cadhalpun wrote:
> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
> ---
>  libavformat/genh.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

LGTM assuming the author/maintainer does not object

[...]
Paul B Mahol Jan. 29, 2017, 8:52 a.m. UTC | #2
On 1/29/17, Michael Niedermayer <michaelni@gmx.at> wrote:
> On Thu, Jan 26, 2017 at 02:11:54AM +0100, Andreas Cadhalpun wrote:
>> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
>> ---
>>  libavformat/genh.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> LGTM assuming the author/maintainer does not object
>

ok
Andreas Cadhalpun Jan. 30, 2017, 12:45 a.m. UTC | #3
On 29.01.2017 09:52, Paul B Mahol wrote:
> On 1/29/17, Michael Niedermayer <michaelni@gmx.at> wrote:
>> On Thu, Jan 26, 2017 at 02:11:54AM +0100, Andreas Cadhalpun wrote:
>>> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
>>> ---
>>>  libavformat/genh.c | 3 ++-
>>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> LGTM assuming the author/maintainer does not object
>>
> 
> ok

Pushed.

Best regards,
Andreas
diff mbox

Patch

diff --git a/libavformat/genh.c b/libavformat/genh.c
index b683e026d1..dd4e76d3d9 100644
--- a/libavformat/genh.c
+++ b/libavformat/genh.c
@@ -20,6 +20,7 @@ 
  */
 
 #include "libavutil/intreadwrite.h"
+#include "libavcodec/internal.h"
 #include "avformat.h"
 #include "internal.h"
 
@@ -54,7 +55,7 @@  static int genh_read_header(AVFormatContext *s)
 
     st->codecpar->codec_type  = AVMEDIA_TYPE_AUDIO;
     st->codecpar->channels    = avio_rl32(s->pb);
-    if (st->codecpar->channels <= 0)
+    if (st->codecpar->channels <= 0 || st->codecpar->channels > FF_SANE_NB_CHANNELS)
         return AVERROR_INVALIDDATA;
     if (st->codecpar->channels == 1)
         st->codecpar->channel_layout = AV_CH_LAYOUT_MONO;