diff options
author | ariff <ariff@FreeBSD.org> | 2007-02-01 09:46:03 +0000 |
---|---|---|
committer | ariff <ariff@FreeBSD.org> | 2007-02-01 09:46:03 +0000 |
commit | ef779241ba938ab74bc1fc9474db9edd393a9a1e (patch) | |
tree | b7187e3635d9af1d354db0c62fe905109758b90c /sys/compat/linux/linux_emul.c | |
parent | f763a443cd487389b72898bd4b6bc2f9631efa68 (diff) | |
download | FreeBSD-src-ef779241ba938ab74bc1fc9474db9edd393a9a1e.zip FreeBSD-src-ef779241ba938ab74bc1fc9474db9edd393a9a1e.tar.gz |
Fix huge memory leak within sound buffer (during channel destruction,
buffer resizing, etc.) that was here since eon. Free all (unmanaged)
allocated buffer through sndbuf_destroy() in case we forgot to call
sndbuf_free(). For a managed buffer (mostly hw specific managed buffer),
either provide CHANNEL_FREE() method with appropriate return value to
invoke semi-automatic sndbuf_free() or simply do it on their own. If
everything is failed, sndbuf_destroy() will come to the rescue as a
final measure.
MFC after: 3 days
Diffstat (limited to 'sys/compat/linux/linux_emul.c')
0 files changed, 0 insertions, 0 deletions