diff options
author | Burt P <pburt0@gmail.com> | 2016-09-04 09:28:39 -0500 |
---|---|---|
committer | Burt P <pburt0@gmail.com> | 2016-09-07 10:53:41 -0500 |
commit | 91be2ad756d658acc24fec5bc46c1775158d28b0 (patch) | |
tree | 74cf462f39989e4989c60d1d6636403aafeca5e4 /libavfilter | |
parent | 5e553cab68ea7d4937ea8fb2993f5006fccbddcf (diff) | |
download | ffmpeg-91be2ad756d658acc24fec5bc46c1775158d28b0.tar.gz |
af_hdcd: fix possible integer overflow
Signed-off-by: Burt P <pburt0@gmail.com>
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/af_hdcd.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/libavfilter/af_hdcd.c b/libavfilter/af_hdcd.c index cde234022b..6bc408cbe3 100644 --- a/libavfilter/af_hdcd.c +++ b/libavfilter/af_hdcd.c @@ -1004,16 +1004,15 @@ AVFILTER_DEFINE_CLASS(hdcd); static void hdcd_reset(hdcd_state *state, unsigned rate, unsigned cdt_ms) { int i; + uint64_t sustain_reset = (uint64_t)cdt_ms * rate / 1000; state->window = 0; state->readahead = 32; state->arg = 0; state->control = 0; - state->running_gain = 0; - + state->sustain_reset = sustain_reset; state->sustain = 0; - state->sustain_reset = cdt_ms*rate/1000; state->code_counterA = 0; state->code_counterA_almost = 0; @@ -1789,8 +1788,8 @@ static av_cold int init(AVFilterContext *ctx) hdcd_reset(&s->state[c], 44100, s->cdt_ms); } - av_log(ctx, AV_LOG_VERBOSE, "CDT period: %dms (%d samples @44100Hz)\n", - s->cdt_ms, s->cdt_ms*44100/1000 ); + av_log(ctx, AV_LOG_VERBOSE, "CDT period: %dms (%u samples @44100Hz)\n", + s->cdt_ms, s->state[0].sustain_reset ); av_log(ctx, AV_LOG_VERBOSE, "Process mode: %s\n", (s->process_stereo) ? "process stereo channels together" : "process each channel separately"); av_log(ctx, AV_LOG_VERBOSE, "Force PE: %s\n", |