1.46 CoreAudioInternal bug


#1

Believe you’ve introduced a bug in 1.46 when you changed the way audio channel data is handled.

Internal to CoreAudioInternal you are creating tempInputBuffers which are ultimately passed to AudioIODeviceCallback. In CoreAudioInternal::audioCallback you are accessing tempInputBuffers by source channel number.

This results in bad pointer access if the sourceChannelNum exceeds the number of open channels. For example, if only channel 2 is open the number of valid tempInputBuffers is 1 yet in the above code you attempt to write to the second buffer, which is NULL.

The fix is to reference tempInputBuffers by i.

I’ve not checked ASIO and DirectSound audio device code yet but they may be bugged as well.


#2

Yeah, the 1.46 code is about a year old now, and that one got fixed many, many months ago!


#3

Ok, sorry for old info. I downloaded it from Sourceforge, which is clearly out of date. Didn’t want to pull from the tree for various reasons.