From 5e77d71687ca4a851c48592ecaee77e4802ce560 Mon Sep 17 00:00:00 2001
From: Paul Licameli <paul.licameli@audacityteam.org>
Date: Tue, 25 Jul 2023 08:51:10 -0400
Subject: [PATCH] Fix crash in noise reduction

---
 src/effects/NoiseReduction.cpp | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/effects/NoiseReduction.cpp b/src/effects/NoiseReduction.cpp
index 3b769bcdb6..d490f263e0 100644
--- a/src/effects/NoiseReduction.cpp
+++ b/src/effects/NoiseReduction.cpp
@@ -741,14 +741,18 @@ bool EffectNoiseReduction::Worker::Process(
             if (!TrackSpectrumTransformer::Process(
                Processor, pChannel, mHistoryLen, start, len))
                return false;
-            tempList->Add(mOutputTrack);
-            assert(mOutputTrack->IsLeader() == pChannel->IsLeader());
-            mOutputTrack.reset();
+            if (mOutputTrack) {
+               tempList->Add(mOutputTrack);
+               assert(mOutputTrack->IsLeader() == pChannel->IsLeader());
+               mOutputTrack.reset();
+            }
             ++mProgressTrackCount;
          }
-         auto iter = TrackList::Channels(*tempList->Leaders().begin()).begin();
-         for (const auto pChannel : TrackList::Channels(track))
-            pChannel->ClearAndPaste(t0, t0 + tLen, *iter++, true, false);
+         if (tempList->Size()) {
+            auto iter = TrackList::Channels(*tempList->Leaders().begin()).begin();
+            for (const auto pChannel : TrackList::Channels(track))
+               pChannel->ClearAndPaste(t0, t0 + tLen, *iter++, true, false);
+         }
       }
    }
 
-- 
GitLab