From 811af02f56a829fb2177d25b7eb4f93212a4ea9e Mon Sep 17 00:00:00 2001 From: Nix Date: Mon, 24 Nov 2014 13:02:07 +0000 Subject: Output: start with a null mixer. There are code paths (mostly error cases) in which it is possible to initialize an AudioOutput and then kill it without ever calling audio_output_new(). In such a case, its destructor will attempt to free a mixer that was never initialized, leading to an attempt to take out a lock on a mutex that was similarly never initialized, which hangs forever. Fix by always initializing the mixer appropriately. --- src/output/Init.cxx | 1 + 1 file changed, 1 insertion(+) (limited to 'src/output/Init.cxx') diff --git a/src/output/Init.cxx b/src/output/Init.cxx index eafcec432..79ef4f998 100644 --- a/src/output/Init.cxx +++ b/src/output/Init.cxx @@ -48,6 +48,7 @@ AudioOutput::AudioOutput(const AudioOutputPlugin &_plugin) :plugin(_plugin), + mixer(nullptr), enabled(true), really_enabled(false), open(false), pause(false), -- cgit v1.2.3