From 916050aacd080a9190137d58c9079b0c272c9b1a Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 27 Jun 2022 20:01:54 +0200 Subject: [PATCH] audioconvert: handle errors --- spa/plugins/audioconvert/audioconvert.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/spa/plugins/audioconvert/audioconvert.c b/spa/plugins/audioconvert/audioconvert.c index 35f7b5b2c..2f05ab4df 100644 --- a/spa/plugins/audioconvert/audioconvert.c +++ b/spa/plugins/audioconvert/audioconvert.c @@ -1414,6 +1414,7 @@ static int setup_convert(struct impl *this) { struct dir *in, *out; uint32_t i, rate; + int res; in = &this->dir[SPA_DIRECTION_INPUT]; out = &this->dir[SPA_DIRECTION_OUTPUT]; @@ -1443,10 +1444,14 @@ static int setup_convert(struct impl *this) else if (out->format.info.raw.channels == 0) out->format.info.raw.channels = in->format.info.raw.channels; - setup_in_convert(this); - setup_channelmix(this); - setup_resample(this); - setup_out_convert(this); + if ((res = setup_in_convert(this)) < 0) + return res; + if ((res = setup_channelmix(this)) < 0) + return res; + if ((res = setup_resample(this)) < 0) + return res; + if ((res = setup_out_convert(this)) < 0) + return res; for (i = 0; i < MAX_PORTS; i++) { this->tmp_datas[0][i] = SPA_PTROFF(this->tmp, this->empty_size * i, void);