Opus_multistream API hardening.

This commit is contained in:
Gregory Maxwell 2012-07-14 15:49:20 -04:00
parent ce87883686
commit d060dd7cbd

View file

@ -163,6 +163,10 @@ int opus_multistream_encoder_init(
int i; int i;
char *ptr; char *ptr;
if ((channels>255) || (coupled_streams>streams) ||
(coupled_streams+streams>255) || (streams<1) || (coupled_streams<0))
return OPUS_BAD_ARG;
st->layout.nb_channels = channels; st->layout.nb_channels = channels;
st->layout.nb_streams = streams; st->layout.nb_streams = streams;
st->layout.nb_coupled_streams = coupled_streams; st->layout.nb_coupled_streams = coupled_streams;
@ -534,6 +538,10 @@ int opus_multistream_decoder_init(
int i, ret; int i, ret;
char *ptr; char *ptr;
if ((channels>255) || (coupled_streams>streams) ||
(coupled_streams+streams>255) || (streams<1) || (coupled_streams<0))
return OPUS_BAD_ARG;
st->layout.nb_channels = channels; st->layout.nb_channels = channels;
st->layout.nb_streams = streams; st->layout.nb_streams = streams;
st->layout.nb_coupled_streams = coupled_streams; st->layout.nb_coupled_streams = coupled_streams;