parent
ea15332b60
commit
0b51fee3ed
@ -0,0 +1,21 @@
|
||||
From 941774c8c0e79007196d7f1e7afdc97689f869b3 Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Thu, 27 Sep 2018 12:09:45 +0200
|
||||
Subject: [PATCH] ALAC: set chunk frameCount to 0 on short read
|
||||
|
||||
---
|
||||
libaudiofile/modules/ALAC.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/libaudiofile/modules/ALAC.cpp b/libaudiofile/modules/ALAC.cpp
|
||||
index 7593c11..478e2af 100644
|
||||
--- a/libaudiofile/modules/ALAC.cpp
|
||||
+++ b/libaudiofile/modules/ALAC.cpp
|
||||
@@ -240,6 +240,7 @@ void ALAC::runPull()
|
||||
if (read(m_inChunk->buffer, bytesPerPacket) < bytesPerPacket)
|
||||
{
|
||||
reportReadError(0, m_track->f.framesPerPacket);
|
||||
+ m_outChunk->frameCount = 0;
|
||||
return;
|
||||
}
|
||||
|
@ -0,0 +1,28 @@
|
||||
From fde6d79fb8363c4a329a184ef0b107156602b225 Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
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);
|
Loading…
Reference in new issue