Skip to content

Commit

Permalink
vaapi: do not assert on value read from input bitstream
Browse files Browse the repository at this point in the history
User-provided data should never trigger an assert; return error instead.
Also fix an instance of get_bits where get_bits_long should have been used.

This eliminates the following warning:
libavcodec/vaapi_mpeg2.c:112:14: warning: variable 'start_code' set but not used

Signed-off-by: elupus <elupus@xbmc.org>
  • Loading branch information
DonDiego authored and elupus committed Dec 9, 2011
1 parent 1273fc0 commit 425b9a3
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions lib/ffmpeg/libavcodec/vaapi_mpeg2.c
Original file line number Diff line number Diff line change
Expand Up @@ -109,14 +109,14 @@ static int vaapi_mpeg2_decode_slice(AVCodecContext *avctx, const uint8_t *buffer
MpegEncContext * const s = avctx->priv_data;
VASliceParameterBufferMPEG2 *slice_param;
GetBitContext gb;
uint32_t start_code, quantiser_scale_code, intra_slice_flag, macroblock_offset;
uint32_t quantiser_scale_code, intra_slice_flag, macroblock_offset;

av_dlog(avctx, "vaapi_mpeg2_decode_slice(): buffer %p, size %d\n", buffer, size);

/* Determine macroblock_offset */
init_get_bits(&gb, buffer, 8 * size);
start_code = get_bits(&gb, 32);
assert((start_code & 0xffffff00) == 0x00000100);
if (get_bits_long(&gb, 32) >> 8 != 1) /* start code */
return AVERROR_INVALIDDATA;
quantiser_scale_code = get_bits(&gb, 5);
intra_slice_flag = get_bits1(&gb);
if (intra_slice_flag) {
Expand Down

0 comments on commit 425b9a3

Please sign in to comment.