summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorvboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2023-04-28 14:30:50 +0000
committervboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f>2023-04-28 14:30:50 +0000
commitf9b9515c86e83c50709d52606f54f801155d33b0 (patch)
tree1d39671c5452f3e59a2fd55f2cf87f0497f157cf /include
parent4c4c193fb01d2b5cdb16ae0f36de3693bbe2b86e (diff)
downloadVirtualBox-svn-f9b9515c86e83c50709d52606f54f801155d33b0.tar.gz
Audio: Improved range checks for audio channels (PDMAUDIO_MAX_CHANNELS).
git-svn-id: https://www.virtualbox.org/svn/vbox/trunk@99559 cfe28804-0f27-0410-a406-dd0f0b0b656f
Diffstat (limited to 'include')
-rw-r--r--include/VBox/vmm/pdmaudioinline.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/VBox/vmm/pdmaudioinline.h b/include/VBox/vmm/pdmaudioinline.h
index 52665d2ecf9..61c7f39eff5 100644
--- a/include/VBox/vmm/pdmaudioinline.h
+++ b/include/VBox/vmm/pdmaudioinline.h
@@ -406,6 +406,8 @@ DECLINLINE(void) PDMAudioPropsSetDefaultChannelIds(PPDMAUDIOPCMPROPS pProps)
*/
DECLINLINE(void) PDMAudioPropsInit(PPDMAUDIOPCMPROPS pProps, uint8_t cbSample, bool fSigned, uint8_t cChannels, uint32_t uHz)
{
+ Assert(cChannels <= PDMAUDIO_MAX_CHANNELS);
+
pProps->cbFrame = cbSample * cChannels;
pProps->cbSampleX = cbSample;
pProps->cChannelsX = cChannels;
@@ -428,6 +430,7 @@ DECLINLINE(void) PDMAudioPropsInit(PPDMAUDIOPCMPROPS pProps, uint8_t cbSample, b
DECLINLINE(void) PDMAudioPropsInitEx(PPDMAUDIOPCMPROPS pProps, uint8_t cbSample, bool fSigned, uint8_t cChannels, uint32_t uHz,
bool fLittleEndian, bool fRaw)
{
+ Assert(cChannels <= PDMAUDIO_MAX_CHANNELS);
Assert(!fRaw || cbSample == sizeof(int64_t));
pProps->cbFrame = cbSample * cChannels;
pProps->cbSampleX = cbSample;
@@ -502,6 +505,7 @@ DECLINLINE(uint32_t) PDMAudioPropsGetBitrate(PCPDMAUDIOPCMPROPS pProps)
*/
DECL_FORCE_INLINE(uint8_t) PDMAudioPropsChannels(PCPDMAUDIOPCMPROPS pProps)
{
+ AssertReturn(pProps->cChannelsX <= PDMAUDIO_MAX_CHANNELS, PDMAUDIO_MAX_CHANNELS);
return pProps->cChannelsX;
}