alsa-lib/src/pcm
Takashi Iwai f07e9af7ee pcm: ladspa: Fix segfault due to a wrong channel reference
Because of a typo in referencing the input array in
snd_pcm_ladspa_allocate_memory(), ladpsa PCM plugin may cause a
segfault at prepare when input and and output channels are different:
 #0  0x00007ffff78623ef in snd_pcm_ladspa_allocate_memory (pcm=0x626fa0, pcm=0x626fa0, pcm=0x626fa0, ladspa=0x621ad0) at pcm_ladspa.c:753
 #1  snd_pcm_ladspa_init (pcm=0x626fa0) at pcm_ladspa.c:834
 #2  0x00007ffff7842946 in snd_pcm_plugin_prepare (pcm=0x626fa0) at pcm_plugin.c:171
 #3  0x00007ffff784290f in snd_pcm_plugin_prepare (pcm=0x62c760) at pcm_plugin.c:162
 #4  0x000000000040256a in ?? ()
 #5  0x00007ffff7222ec5 in __libc_start_main (main=0x401d80,a argc=4, argv=0x7fffffffde28, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffde18) at libc-start.c:287
 #6  0x0000000000402fdd in ?? ()

This patch corrects the wrong reference.

Reported-and-tested-by: Andreas Hartmann <mail@andreashartmann.eu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-10-02 11:55:36 +02:00
..
scopes Change .so module name and installation patch (/usr/lib/alsa-lib/scopes) 2005-06-07 11:31:18 +00:00
atomic.c Moved some prototypes from src/pcm/pcm_plugin.h to include/pcm_plugin.h. 2002-01-12 10:52:42 +00:00
interval.c Removed more asserts 2003-05-28 18:49:15 +00:00
interval.h Make local functions really local 2007-11-30 18:26:13 +01:00
interval_inline.h Added snd_interval_set_min_max()... 2003-02-17 10:21:24 +00:00
ladspa.h big ALSA LADSPA plugin rewrite for multiple channel LADSPA plugins 2005-12-13 14:08:58 +00:00
Makefile.am autotools: update style 2014-02-26 08:16:22 +01:00
mask.c Updated GNU GPL license (address). 2001-12-30 09:22:54 +00:00
mask.h Enhanced bitmasks in PCM - added support for more formats by Takashi and me 2002-06-26 02:04:11 +00:00
mask_inline.h Removed more asserts 2003-05-28 18:49:15 +00:00
pcm.c pcm: restore hw params on set latency failed 2015-07-24 18:19:37 +02:00
pcm_adpcm.c pcm: Implement timestamp type handling in all plugins 2014-07-14 18:12:34 +02:00
pcm_alaw.c pcm: Implement timestamp type handling in all plugins 2014-07-14 18:12:34 +02:00
pcm_asym.c Set PCM name properly in empty and asym plugins 2007-11-26 12:29:37 +01:00
pcm_copy.c pcm: Implement timestamp type handling in all plugins 2014-07-14 18:12:34 +02:00
pcm_direct.c pcm: dmix: Don't ignore SND_TIMER_EVENT_MSTOP 2014-11-06 12:12:02 +01:00
pcm_direct.h pcm: Implement timestamp type handling in all plugins 2014-07-14 18:12:34 +02:00
pcm_dmix.c PCM: snd_pcm_xxxx_drain() maybe blocked after suspend and resume 2015-06-12 12:39:24 +02:00
pcm_dmix_generic.c pcm_dmix: add support for S24_LE format 2010-03-02 14:01:32 +01:00
pcm_dmix_i386.c pcm_dmix: add support for S24_LE format 2010-03-02 14:01:32 +01:00
pcm_dmix_i386.h pcm dmix plugin: fix MIX_AREAS_24 routine for i386 & x86_64 platforms 2009-06-16 20:10:19 +02:00
pcm_dmix_x86_64.c Add missing remix_areas_* for x86-64 2008-01-14 17:24:14 +01:00
pcm_dmix_x86_64.h pcm dmix plugin: fix MIX_AREAS_24 routine for i386 & x86_64 platforms 2009-06-16 20:10:19 +02:00
pcm_dshare.c PCM: snd_pcm_xxxx_drain() maybe blocked after suspend and resume 2015-06-12 12:39:24 +02:00
pcm_dsnoop.c pcm: Fix snd_pcm_status() for dmix & co 2015-06-02 16:47:50 +02:00
pcm_empty.c Set PCM name properly in empty and asym plugins 2007-11-26 12:29:37 +01:00
pcm_ext_parm.h Make local functions really local 2007-11-30 18:26:13 +01:00
pcm_extplug.c pcm: ioplug,extplug: Fix logic errors in type checks 2015-09-08 20:57:47 +02:00
pcm_file.c pcm_file: fixed missing free 2014-09-23 09:04:19 +02:00
pcm_generic.c pcm: Implement timestamp type handling in all plugins 2014-07-14 18:12:34 +02:00
pcm_generic.h PCM: Avoid busy loop in snd_pcm_write_areas() with rate plugin 2012-11-13 16:16:26 +01:00
pcm_hooks.c pcm_hooks: null check for h 2014-09-23 09:07:13 +02:00
pcm_hw.c pcm: add support for new STATUS_EXT ioctl 2015-07-02 17:02:04 +02:00
pcm_iec958.c pcm: Implement timestamp type handling in all plugins 2014-07-14 18:12:34 +02:00
pcm_ioplug.c pcm: ioplug,extplug: Fix logic errors in type checks 2015-09-08 20:57:47 +02:00
pcm_ladspa.c pcm: ladspa: Fix segfault due to a wrong channel reference 2015-10-02 11:55:36 +02:00
pcm_lfloat.c pcm: Drop snd_pcm_linear_{get|put}32_index() 2014-07-22 14:20:40 +02:00
pcm_linear.c pcm: Drop snd_pcm_linear_{get|put}32_index() 2014-07-22 14:20:40 +02:00
pcm_local.h Allow hint for ctl, hwdep, timer and seq 2015-04-30 14:52:35 +02:00
pcm_meter.c pcm: Implement timestamp type handling in all plugins 2014-07-14 18:12:34 +02:00
pcm_misc.c pcm: Fix DSD sample format endianess and add big-endian format 2014-11-21 15:11:05 +01:00
pcm_mmap.c pcm: add missing "break" in "switch" 2012-05-14 16:55:39 +02:00
pcm_mmap_emul.c pcm: Implement timestamp type handling in all plugins 2014-07-14 18:12:34 +02:00
pcm_mulaw.c pcm: Implement timestamp type handling in all plugins 2014-07-14 18:12:34 +02:00
pcm_multi.c pcm: Implement timestamp type handling in all plugins 2014-07-14 18:12:34 +02:00
pcm_null.c pcm, null: use the snd_pcm_mmap_avail function 2014-09-13 21:04:52 +02:00
pcm_params.c pcm: Don't assert in _snd_pcm_hw_params_internal() 2015-06-01 13:46:40 +02:00
pcm_plug.c pcm: Implement timestamp type handling in all plugins 2014-07-14 18:12:34 +02:00
pcm_plugin.c Revert "pcm: rewindable, forwardable: don't return stale data" 2014-09-14 18:33:37 +02:00
pcm_plugin.h pcm: Drop snd_pcm_linear_{get|put}32_index() 2014-07-22 14:20:40 +02:00
pcm_rate.c pcm, rate: hw_avail must not be negative before starting the stream 2014-09-16 19:26:20 +02:00
pcm_rate_linear.c pcm_rate_linear: Annotate unused function parameter to avoid compiler warnings. 2009-09-30 12:45:35 +02:00
pcm_route.c pcm: route: Remove bogus ! in snd_config_get_id() checks 2015-09-08 21:48:17 +02:00
pcm_share.c pcm_share: fixing missing mutex unlock 2014-09-23 09:05:39 +02:00
pcm_shm.c Remove unused hostname resolution in shm plugins and aserver 2015-01-28 16:23:06 +01:00
pcm_simple.c alsa-lib: fixed coverity reported issues under "FORWARD_NULL" checker. 2011-05-04 09:11:46 +02:00
pcm_softvol.c pcm: Implement timestamp type handling in all plugins 2014-07-14 18:12:34 +02:00
pcm_symbols.c Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-15 10:24:55 +02:00
plugin_ops.h pcm: route: Use get32 for multi-source route calculation 2014-07-22 14:06:12 +02:00