avcodec/dxv: Check idx in dxv_decompress_dxt5()

Fixes potential out of array read

No testcase available

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2016-01-05 03:08:09 +01:00
parent eb8a67de75
commit 68eb20801d
1 changed files with 4 additions and 0 deletions

View File

@ -260,6 +260,10 @@ static int dxv_decompress_dxt5(AVCodecContext *avctx)
case 2:
/* Copy two dwords from a previous index */
idx = 8 + bytestream2_get_le16(gbc);
if (idx > pos) {
av_log(avctx, AV_LOG_ERROR, "idx %d > %d\n", idx, pos);
return AVERROR_INVALIDDATA;
}
prev = AV_RL32(ctx->tex_data + 4 * (pos - idx));
AV_WL32(ctx->tex_data + 4 * pos, prev);
pos++;