From fde6d79fb8363c4a329a184ef0b107156602b225 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 27 Sep 2018 10:48:45 +0200 Subject: [PATCH] ModuleState: handle compress/decompress init failure When the unit initcompress or initdecompress function fails, m_fileModule is NULL. Return AF_FAIL in that case instead of causing NULL pointer dereferences later. Fixes #49 --- libaudiofile/modules/ModuleState.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libaudiofile/modules/ModuleState.cpp b/libaudiofile/modules/ModuleState.cpp index 0c29d7a..070fd9b 100644 --- a/libaudiofile/modules/ModuleState.cpp +++ b/libaudiofile/modules/ModuleState.cpp @@ -75,6 +75,9 @@ status ModuleState::initFileModule(AFfilehandle file, Track *track) m_fileModule = unit->initcompress(track, file->m_fh, file->m_seekok, file->m_fileFormat == AF_FILE_RAWDATA, &chunkFrames); + if (!m_fileModule) + return AF_FAIL; + if (unit->needsRebuffer) { assert(unit->nativeSampleFormat == AF_SAMPFMT_TWOSCOMP);