From fd165ace7b2791af75c74652364d47957d4ea932 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 12 Jan 2013 22:14:25 +0100 Subject: [PATCH] golomb: check log validity before shifting Fixes invalid right shift in fate-cavs Signed-off-by: Michael Niedermayer --- libavcodec/golomb.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libavcodec/golomb.h b/libavcodec/golomb.h index 0629c783de..9f82c74181 100644 --- a/libavcodec/golomb.h +++ b/libavcodec/golomb.h @@ -66,10 +66,14 @@ static inline int get_ue_golomb(GetBitContext *gb){ return ff_ue_golomb_vlc_code[buf]; }else{ log= 2*av_log2(buf) - 31; - buf>>= log; - buf--; LAST_SKIP_BITS(re, gb, 32 - log); CLOSE_READER(re, gb); + if (CONFIG_FTRAPV && log < 0) { + av_log(0, AV_LOG_ERROR, "Invalid UE golomb code\n"); + return AVERROR_INVALIDDATA; + } + buf>>= log; + buf--; return buf; }