avcodec/scpr: do not allow out of array access for 16bit case

Signed-off-by: Paul B Mahol <onemda@gmail.com>
pull/233/merge
Paul B Mahol 8 years ago
parent f062947261
commit fd7af82c53
  1. 4
      libavcodec/scpr.c

@ -408,7 +408,7 @@ static int decompress_i(AVCodecContext *avctx, uint32_t *dst, int linesize)
} }
if (avctx->bits_per_coded_sample == 16) { if (avctx->bits_per_coded_sample == 16) {
cx1 = (clr & 0xFF00) >> 2; cx1 = (clr & 0x3F00) >> 2;
cx = (clr & 0xFFFFFF) >> 16; cx = (clr & 0xFFFFFF) >> 16;
} else { } else {
cx1 = (clr & 0xFC00) >> 4; cx1 = (clr & 0xFC00) >> 4;
@ -647,7 +647,7 @@ static int decompress_p(AVCodecContext *avctx,
} }
if (avctx->bits_per_coded_sample == 16) { if (avctx->bits_per_coded_sample == 16) {
cx1 = (clr & 0xFF00) >> 2; cx1 = (clr & 0x3F00) >> 2;
cx = (clr & 0xFFFFFF) >> 16; cx = (clr & 0xFFFFFF) >> 16;
} else { } else {
cx1 = (clr & 0xFC00) >> 4; cx1 = (clr & 0xFC00) >> 4;

Loading…
Cancel
Save