RetroArch/audio
Mike Robinson addbcc6487 Fix buffer overflow in JACK audio driver
retroarch.c:flush_rewind_audio() can potentially send up to
audio_data.rewind_buf of 2048 frames (4096 samples) to audio_flush().

rarch_resampler_process() can potentially multiply the number of
frames by AUDIO_MAX_RATIO, to 32768 frames.

audio/jack.c:write_buffer() allocates a buffer of only 2048 frames on
the stack, which can overflow. This reliably happens when rewinding in
slow motion.

Multiply the JACK driver buffer by AUDIO_MAX_RATIO to prevent overflow.

However, DSP can also adjust the number of frames without limit. There
is no DSP_MAX_RATIO, so check the number of frames in
audio/jack.c:write_buffer() and truncate if they will not fit the
buffer. This will cause garbled audio, but in practice it is unlikely
to occur (DSP plugins do not usually add frames, flush_rewind_audio()
does not usually send the maximum possible number of frames).
2014-08-31 15:50:34 +01:00
..
filters Fix lfo_ptr increment. 2014-06-01 14:35:12 +02:00
test Add resampler tests for CC resampler. 2014-03-23 14:27:31 +01:00
xaudio-c Update years on all license headers 2014-01-01 01:50:59 +01:00
alsa_qsa.c Get rid of some extraneous elses 2014-08-27 03:11:06 +02:00
alsa.c Get rid of some extraneous elses 2014-08-27 03:11:06 +02:00
alsathread.c [ALSA] Try to fallback on get_buffer_size. 2014-02-22 15:31:23 +01:00
cc_resampler.c (PSP) add BIG_STACK makefile option 2014-06-29 05:45:36 +01:00
coreaudio.c (OSX PPC) CoreAudio should be compatible now with OSX 10.5 for PowerPC 2014-05-22 22:20:17 +02:00
dsound.c Fix some Win32 build issues. 2014-06-17 17:52:00 +02:00
dsp_filter.c (audio/dsp_filter.c/audio/sinc.c) Remove more extraneous elses 2014-08-27 03:31:19 +02:00
dsp_filter.h Some Panning fixes. 2014-05-20 14:00:48 +02:00
gx_audio.c (GX) Build fix 2014-08-15 21:08:56 +02:00
jack.c Fix buffer overflow in JACK audio driver 2014-08-31 15:50:34 +01:00
librsound.c Update years on all license headers 2014-01-01 01:50:59 +01:00
nullaudio.c Add null drivers 2014-08-14 03:05:44 +02:00
openal.c Update years on all license headers 2014-01-01 01:50:59 +01:00
opensl.c (Android) Build fix 2014-06-13 02:16:41 +02:00
oss.c Update years on all license headers 2014-01-01 01:50:59 +01:00
ps3_audio.c (Console) Move audio drivers to audio/ directory 2014-05-13 17:09:17 +02:00
psp1_audio.c (PSP) increase audio buffer size and chunk size. 2014-07-14 02:36:13 +01:00
pulse.c Update years on all license headers 2014-01-01 01:50:59 +01:00
resampler.c Refactor resampler.c 2014-08-15 18:17:44 +02:00
resampler.h Add resampler tests for CC resampler. 2014-03-23 14:27:31 +01:00
roar.c Update years on all license headers 2014-01-01 01:50:59 +01:00
rsound.c Update years on all license headers 2014-01-01 01:50:59 +01:00
rsound.h Update years on all license headers 2014-01-01 01:50:59 +01:00
rwebaudio.c Update years on all license headers 2014-01-01 01:50:59 +01:00
sdl_audio.c (SDL) Fix double initialization 2014-08-19 16:55:32 -03:00
sinc_neon.S Use __ARM_NEON__ define instead of HAVE_NEON 2014-07-26 20:18:37 +02:00
sinc.c (audio/dsp_filter.c/audio/sinc.c) Remove more extraneous elses 2014-08-27 03:31:19 +02:00
thread_wrapper.c Rewrite threaded audio a bit. 2014-01-26 13:08:51 +01:00
thread_wrapper.h Update years on all license headers 2014-01-01 01:50:59 +01:00
utils_neon.S Use __ARM_NEON__ define instead of HAVE_NEON 2014-07-26 20:18:37 +02:00
utils.c Remove extraneous elses 2014-08-27 02:06:39 +02:00
utils.h Use __ARM_NEON__ define instead of HAVE_NEON 2014-07-26 20:18:37 +02:00
xaudio.c Rename g_extern.verbose to g_extern.verbosity to avoid 2014-07-18 00:39:31 +02:00
xenon360_audio.c Move xenon drivers to input/audio 2014-08-15 21:11:26 +02:00