Description: wavpack: check errors when initializing https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881145 Author: Eric Wong Jaromír Mikeš Forwarded: not-needed src/wavpack.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/wavpack.c b/src/wavpack.c index 9e525cd4..b7e8dafa 100644 --- a/src/wavpack.c +++ b/src/wavpack.c @@ -65,6 +65,10 @@ static int start_read(sox_format_t * ft) char msg[80]; p->codec = WavpackOpenFileInputEx(&io_fns, ft, NULL, msg, OPEN_NORMALIZE, 0); + if (!p->codec) { + lsx_fail_errno(ft, SOX_EHDR, "%s", msg); + return SOX_EOF; + } ft->encoding.bits_per_sample = WavpackGetBytesPerSample(p->codec) << 3; ft->signal.channels = WavpackGetNumChannels(p->codec); if (WavpackGetSampleRate(p->codec) && ft->signal.rate && ft->signal.rate != WavpackGetSampleRate(p->codec)) @@ -108,6 +112,10 @@ static int start_write(sox_format_t * ft) uint64_t size64; p->codec = WavpackOpenFileOutput(ft_write_b_buf, ft, NULL); + if (!p->codec) { + lsx_fail_errno(ft, SOX_ENOMEM, "WavPack error creating output instance"); + return SOX_EOF; + } memset(&config, 0, sizeof(config)); config.bytes_per_sample = ft->encoding.bits_per_sample >> 3; config.bits_per_sample = ft->encoding.bits_per_sample;