Просмотр исходного кода

avformat/oggparsedaala: Do not leave an invalid value in gpshift

Fixes: undefined behavior
Fixes: 702974

Found-by: Thomas Guilbert <tguilbert@google.com>
Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer 8 лет назад
Родитель
Сommit
23ae3cc822
1 измененных файлов с 1 добавлено и 0 удалено
  1. 1 0
      libavformat/oggparsedaala.c

+ 1 - 0
libavformat/oggparsedaala.c

@@ -126,6 +126,7 @@ static int daala_header(AVFormatContext *s, int idx)
         if (hdr->gpshift >= 32) {
             av_log(s, AV_LOG_ERROR, "Too large gpshift %d (>= 32).\n",
                    hdr->gpshift);
+            hdr->gpshift = 0;
             return AVERROR_INVALIDDATA;
         }
         hdr->gpmask  = (1U << hdr->gpshift) - 1;