diff options
author | vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f> | 2023-04-28 14:30:50 +0000 |
---|---|---|
committer | vboxsync <vboxsync@cfe28804-0f27-0410-a406-dd0f0b0b656f> | 2023-04-28 14:30:50 +0000 |
commit | f9b9515c86e83c50709d52606f54f801155d33b0 (patch) | |
tree | 1d39671c5452f3e59a2fd55f2cf87f0497f157cf /include | |
parent | 4c4c193fb01d2b5cdb16ae0f36de3693bbe2b86e (diff) | |
download | VirtualBox-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.h | 4 |
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; } |