mirror of
https://github.com/moonlight-stream/moonlight-common-c.git
synced 2025-07-01 23:35:58 +00:00
Validate channel count before parsing Opus param string
This commit is contained in:
parent
0fa805d973
commit
dff1690fe1
@ -664,6 +664,11 @@ static bool sendVideoAnnounce(PRTSP_MESSAGE response, int* error) {
|
|||||||
static int parseOpusConfigFromParamString(char* paramStr, int channelCount, POPUS_MULTISTREAM_CONFIGURATION opusConfig) {
|
static int parseOpusConfigFromParamString(char* paramStr, int channelCount, POPUS_MULTISTREAM_CONFIGURATION opusConfig) {
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
if (channelCount > AUDIO_CONFIGURATION_MAX_CHANNEL_COUNT) {
|
||||||
|
Limelog("Invalid channel count: %d\n", channelCount);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
// Set channel count (included in the prefix, so not parsed below)
|
// Set channel count (included in the prefix, so not parsed below)
|
||||||
opusConfig->channelCount = channelCount;
|
opusConfig->channelCount = channelCount;
|
||||||
|
|
||||||
@ -760,6 +765,7 @@ static int parseOpusConfigurations(PRTSP_MESSAGE response) {
|
|||||||
// Parse the normal quality Opus config
|
// Parse the normal quality Opus config
|
||||||
err = parseOpusConfigFromParamString(paramStart, channelCount, &NormalQualityOpusConfig);
|
err = parseOpusConfigFromParamString(paramStart, channelCount, &NormalQualityOpusConfig);
|
||||||
if (err != 0) {
|
if (err != 0) {
|
||||||
|
LC_ASSERT(err == 0);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -788,6 +794,7 @@ static int parseOpusConfigurations(PRTSP_MESSAGE response) {
|
|||||||
// Parse the high quality Opus config
|
// Parse the high quality Opus config
|
||||||
err = parseOpusConfigFromParamString(paramStart, channelCount, &HighQualityOpusConfig);
|
err = parseOpusConfigFromParamString(paramStart, channelCount, &HighQualityOpusConfig);
|
||||||
if (err != 0) {
|
if (err != 0) {
|
||||||
|
LC_ASSERT(err == 0);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user