Skip to content

Commit

Permalink
codecs/speex: add checks in speex_resampler_init_frac/set_rate_frac.
Browse files Browse the repository at this point in the history
Add checks to avoid den_rate and num_rate to be set to 0.

Change-Id: Ia4880521e7ab73d0fdc44377f4badadb09365471
Reviewed-by: Peter Wu <[email protected]>
Reviewed-by: Anders Broman <[email protected]>
Signed-off-by: Dario Lombardo <[email protected]>
Signed-off-by: Tristan Matthews <[email protected]>
  • Loading branch information
crondaemon authored and tmatth committed Sep 22, 2016
1 parent bc82a53 commit 76c944d
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion libspeexdsp/resample.c
Original file line number Diff line number Diff line change
Expand Up @@ -802,7 +802,7 @@ EXPORT SpeexResamplerState *speex_resampler_init_frac(spx_uint32_t nb_channels,
SpeexResamplerState *st;
int filter_err;

if (quality > 10 || quality < 0)
if (nb_channels == 0 || ratio_num == 0 || ratio_den == 0 || quality > 10 || quality < 0)
{
if (err)
*err = RESAMPLER_ERR_INVALID_ARG;
Expand Down Expand Up @@ -1111,6 +1111,10 @@ EXPORT int speex_resampler_set_rate_frac(SpeexResamplerState *st, spx_uint32_t r
spx_uint32_t fact;
spx_uint32_t old_den;
spx_uint32_t i;

if (ratio_num == 0 || ratio_den == 0)
return RESAMPLER_ERR_INVALID_ARG;

if (st->in_rate == in_rate && st->out_rate == out_rate && st->num_rate == ratio_num && st->den_rate == ratio_den)
return RESAMPLER_ERR_SUCCESS;

Expand Down

0 comments on commit 76c944d

Please sign in to comment.