linux-stable/sound/firewire
Wenwen Wang bc972b6b52 ALSA: firewire: fix a memory leak bug
commit 1be3c1fae6 upstream.

In iso_packets_buffer_init(), 'b->packets' is allocated through
kmalloc_array(). Then, the aligned packet size is checked. If it is
larger than PAGE_SIZE, -EINVAL will be returned to indicate the error.
However, the allocated 'b->packets' is not deallocated on this path,
leading to a memory leak.

To fix the above issue, free 'b->packets' before returning the error code.

Fixes: 31ef9134eb ("ALSA: add LaCie FireWire Speakers/Griffin FireWave Surround driver")
Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu>
Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Cc: <stable@vger.kernel.org> # v2.6.39+
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-08-16 10:12:51 +02:00
..
bebob ALSA: bebob: use more identical mod_alias for Saffire Pro 10 I/O against Liquid Saffire 56 2019-03-19 13:12:41 +01:00
dice ALSA: dice: add support for Solid State Logic Duende Classic/Mini 2019-04-05 22:33:13 +02:00
digi00x ALSA: firewire-digi00x: fix memory leak of private data 2018-09-13 15:12:57 +02:00
fireface ALSA: fireface: fix for state to fetch PCM frames 2019-01-09 17:38:37 +01:00
fireworks ALSA: fireworks: fix memory leak of response buffer at error path 2018-09-17 13:41:14 +02:00
motu ALSA: firewire-motu: fix destruction of data for isochronous resources 2019-06-19 08:17:59 +02:00
oxfw ALSA: oxfw: allow PCM capture for Stanton SCS.1m 2019-06-19 08:17:59 +02:00
tascam ALSA: firewire-tascam: fix memory leak of private data 2018-09-13 15:14:39 +02:00
amdtp-am824.c ALSA: firewire-lib/fireworks: fix miss detection of received MIDI messages 2019-07-10 09:53:42 +02:00
amdtp-am824.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
amdtp-stream-trace.h ALSA: firewire-lib: use the same print format for 'without_header' tracepoints 2019-01-09 17:38:38 +01:00
amdtp-stream.c ALSA: firewire-lib: fix wrong handling payload_length as payload_quadlet 2019-01-09 17:38:37 +01:00
amdtp-stream.h Merge branch 'linus' into locking/core, to resolve conflicts 2017-11-07 10:32:44 +01:00
cmp.c ALSA: firewire-lib: fix kerneldoc errors 2014-11-18 18:10:23 +01:00
cmp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fcp.c ALSA: firewire-lib/bebob/oxfw: improve response evaluation for AV/C commands 2017-04-05 21:37:23 +02:00
fcp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
isight.c ALSA: pcm: Nuke snd_pcm_lib_mmap_vmalloc() 2018-07-18 08:24:29 +02:00
iso-resources.c ALSA: firewire: fix NULL pointer dereference when releasing uninitialized data of iso-resource 2017-08-20 09:40:32 +02:00
iso-resources.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig ALSA: oxfw: add support for APOGEE duet FireWire 2019-01-26 09:32:34 +01:00
lib.c ALSA: firewire-lib/firewire-tascam: localize async midi port 2017-04-14 14:50:26 +02:00
lib.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
packets-buffer.c ALSA: firewire: fix a memory leak bug 2019-08-16 10:12:51 +02:00
packets-buffer.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00