linux/sound/firewire
Wenwen Wang 1be3c1fae6 ALSA: firewire: fix a memory leak bug
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>
2019-08-08 11:12:26 +02:00
..
bebob ASoC: Updates for v5.3 2019-07-08 14:45:34 +02:00
dice ASoC: Updates for v5.3 2019-07-08 14:45:34 +02:00
digi00x ASoC: Updates for v5.3 2019-07-08 14:45:34 +02:00
fireface ASoC: Updates for v5.3 2019-07-08 14:45:34 +02:00
fireworks ASoC: Updates for v5.3 2019-07-08 14:45:34 +02:00
motu ASoC: Updates for v5.3 2019-07-08 14:45:34 +02:00
oxfw ASoC: Updates for v5.3 2019-07-08 14:45:34 +02:00
tascam ASoC: Updates for v5.3 2019-07-08 14:45:34 +02:00
amdtp-am824.c ASoC: Updates for v5.3 2019-07-08 14:45:34 +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 ASoC: Updates for v5.3 2019-07-08 14:45:34 +02:00
amdtp-stream.c ALSA: firewire-lib: code refactoring for local variables 2019-07-08 14:50:42 +02:00
amdtp-stream.h ALSA: firewire-lib: unify packet handler for IT context 2019-05-24 09:05:15 +02:00
cmp.c ASoC: Updates for v5.3 2019-07-08 14:45:34 +02:00
cmp.h ALSA: firewire-lib: split allocation of isochronous resources from establishment of connection 2019-06-17 08:18:36 +02:00
fcp.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 345 2019-06-05 17:37:08 +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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 345 2019-06-05 17:37:08 +02:00
iso-resources.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 345 2019-06-05 17:37:08 +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 treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
lib.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 345 2019-06-05 17:37:08 +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-08 11:12:26 +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