Modify autoconf tests for intrinsics to stop clang from optimizing them away.
[opus.git] / src / opus_multistream_decoder.c
index e2111f7..b95eaa6 100644 (file)
@@ -75,7 +75,7 @@ int opus_multistream_decoder_init(
    char *ptr;
 
    if ((channels>255) || (channels<1) || (coupled_streams>streams) ||
-       (coupled_streams+streams>255) || (streams<1) || (coupled_streams<0))
+       (streams<1) || (coupled_streams<0) || (streams>255-coupled_streams))
       return OPUS_BAD_ARG;
 
    st->layout.nb_channels = channels;
@@ -119,7 +119,7 @@ OpusMSDecoder *opus_multistream_decoder_create(
    int ret;
    OpusMSDecoder *st;
    if ((channels>255) || (channels<1) || (coupled_streams>streams) ||
-       (coupled_streams+streams>255) || (streams<1) || (coupled_streams<0))
+       (streams<1) || (coupled_streams<0) || (streams>255-coupled_streams))
    {
       if (error)
          *error = OPUS_BAD_ARG;
@@ -223,7 +223,7 @@ static int opus_multistream_decode_native(
    }
    if (!do_plc)
    {
-      int ret = opus_multistream_packet_validate(data, len, st->layout.nb_coupled_streams, Fs);
+      int ret = opus_multistream_packet_validate(data, len, st->layout.nb_streams, Fs);
       if (ret < 0)
       {
          RESTORE_STACK;