From b96f6f47852aa145645fb8626d009ec532246e55 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 27 Feb 2017 09:29:18 +0100 Subject: [PATCH 35/43] pcm file plugin: handle snd_pcm_mmap_begin() error path in snd_pcm_file_mmap_commit() --- src/pcm/pcm_file.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) --- a/src/pcm/pcm_file.c +++ b/src/pcm/pcm_file.c @@ -593,11 +593,13 @@ static snd_pcm_sframes_t snd_pcm_file_mm const snd_pcm_channel_area_t *areas; snd_pcm_sframes_t result; - snd_pcm_mmap_begin(file->gen.slave, &areas, &ofs, &siz); - assert(ofs == offset && siz == size); - result = snd_pcm_mmap_commit(file->gen.slave, ofs, siz); - if (result > 0) - snd_pcm_file_add_frames(pcm, areas, ofs, result); + result = snd_pcm_mmap_begin(file->gen.slave, &areas, &ofs, &siz); + if (result >= 0) { + assert(ofs == offset && siz == size); + result = snd_pcm_mmap_commit(file->gen.slave, ofs, siz); + if (result > 0) + snd_pcm_file_add_frames(pcm, areas, ofs, result); + } return result; }