From d060dd7cbd6405c8a31510ca17adb1e051934f49 Mon Sep 17 00:00:00 2001 From: Gregory Maxwell <greg@xiph.org> Date: Sat, 14 Jul 2012 15:49:20 -0400 Subject: [PATCH] Opus_multistream API hardening. --- src/opus_multistream.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/opus_multistream.c b/src/opus_multistream.c index 1128c07e8..5b2519df9 100644 --- a/src/opus_multistream.c +++ b/src/opus_multistream.c @@ -163,6 +163,10 @@ int opus_multistream_encoder_init( int i; 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_streams = streams; st->layout.nb_coupled_streams = coupled_streams; @@ -534,6 +538,10 @@ int opus_multistream_decoder_init( int i, ret; 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_streams = streams; st->layout.nb_coupled_streams = coupled_streams; -- GitLab