]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/adpcm.c
Merge commit '971099ff5a85377579eb5b8d3620e283957f097e'
[ffmpeg] / libavcodec / adpcm.c
index 2f95a6ff458dc5ea926a31d3e1a25b4959291873..7785a7a6dcf9761bf351cddd7a14c33516753173 100644 (file)
@@ -246,6 +246,10 @@ static inline short adpcm_ms_expand_nibble(ADPCMChannelStatus *c, int nibble)
     c->sample1 = av_clip_int16(predictor);
     c->idelta = (ff_adpcm_AdaptationTable[(int)nibble] * c->idelta) >> 8;
     if (c->idelta < 16) c->idelta = 16;
+    if (c->idelta > INT_MAX/768) {
+        av_log(NULL, AV_LOG_WARNING, "idelta overflow\n");
+        c->idelta = INT_MAX/768;
+    }
 
     return c->sample1;
 }