diff --git a/libPCMutils/src/pcmdmx_lib.cpp b/libPCMutils/src/pcmdmx_lib.cpp index 2070dbc..e3c3fa9 100644 --- a/libPCMutils/src/pcmdmx_lib.cpp +++ b/libPCMutils/src/pcmdmx_lib.cpp @@ -583,6 +583,9 @@ static PCMDMX_ERROR getChannelMode( (channelType[ch] & 0x0F) - 1, 0); /* Assign all undefined channels (ACT_NONE) to front channels. */ + if (channelIndices[ch] >= numCh[channelType[ch] >> 4][chGrp]) + return PCMDMX_INVALID_CH_CONFIG; + spkrPos[ch] = getSpeakerPos(channelType[ch], channelIndices[ch], numCh[channelType[ch] >> 4][chGrp]);