diff --git a/src/opus_decoder.c b/src/opus_decoder.c index bb1612fbf710056432066a4b6e48a903e607686a..99ae48d63f840ec67b7448cf7376b456fcee9bf8 100644 --- a/src/opus_decoder.c +++ b/src/opus_decoder.c @@ -70,6 +70,8 @@ int opus_decoder_get_size(int channels) { int silkDecSizeBytes, celtDecSizeBytes; int ret; + if (channels<1 || channels > 2) + return 0; ret = silk_Get_Decoder_Size( &silkDecSizeBytes ); if(ret) return 0; diff --git a/src/opus_encoder.c b/src/opus_encoder.c index 6b4702da4fd628b85eb5dec709b0d2ca2ff308de..ef62b91857e09ed67c05e4d679806e80bf7b6abe 100644 --- a/src/opus_encoder.c +++ b/src/opus_encoder.c @@ -124,6 +124,8 @@ int opus_encoder_get_size(int channels) { int silkEncSizeBytes, celtEncSizeBytes; int ret; + if (channels<1 || channels > 2) + return 0; ret = silk_Get_Encoder_Size( &silkEncSizeBytes ); if (ret) return 0;