# HG changeset patch # User kostya # Date 1160802065 0 # Node ID b1a1fb651bf52248938b9839270047087ecd3048 # Parent 29ea06410ce795af3b7a28b9bfe40feb4f00c36c Move block size check to decoder diff -r 29ea06410ce7 -r b1a1fb651bf5 wavpack.c --- a/wavpack.c Fri Oct 13 16:19:15 2006 +0000 +++ b/wavpack.c Sat Oct 14 05:01:05 2006 +0000 @@ -388,6 +388,11 @@ memset(s->decorr, 0, MAX_TERMS * sizeof(Decorr)); s->samples = LE_32(buf); buf += 4; + /* should not happen but who knows */ + if(s->samples * 2 * avctx->channels > AVCODEC_MAX_AUDIO_FRAME_SIZE){ + av_log(avctx, AV_LOG_ERROR, "Packet size is too big to be handled in lavc!\n"); + return -1; + } s->joint = LE_32(buf) & WV_JOINT; buf += 4; s->CRC = LE_32(buf); buf += 4; // parse metadata blocks