From 8c8efa4f6d91531e9f88bd98c6eb86cabfaf9d1e Mon Sep 17 00:00:00 2001
From: Olivier Dion <olivier.dion@savoirfairelinux.com>
Date: Mon, 10 May 2021 14:45:26 -0400
Subject: [PATCH] testVideo_input: Call DRing::fini

If not called, other threads might read memories freed by the exit handlers of
the main thread, resulting in a race condition that can cause a segmentation
fault.

Gitlab: #545
Change-Id: I29ec4c1ffee96b6a083e36f31cd738daf622315d
---
 test/unitTest/media/video/testVideo_input.cpp | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/test/unitTest/media/video/testVideo_input.cpp b/test/unitTest/media/video/testVideo_input.cpp
index ab24fa0168..5f5f0bd707 100644
--- a/test/unitTest/media/video/testVideo_input.cpp
+++ b/test/unitTest/media/video/testVideo_input.cpp
@@ -38,25 +38,24 @@ class VideoInputTest : public CppUnit::TestFixture {
 public:
     static std::string name() { return "video_input"; }
 
+    VideoInputTest()
+    {
+        DRing::init(DRing::InitFlag(DRing::DRING_FLAG_DEBUG | DRing::DRING_FLAG_CONSOLE_LOG));
+        DRing::start("dring-sample.yml");
+    }
+
+    ~VideoInputTest() { DRing::fini(); }
+
 private:
     void testInput();
-    void init_daemon();
 
     CPPUNIT_TEST_SUITE(VideoInputTest);
-    CPPUNIT_TEST(init_daemon);
     CPPUNIT_TEST(testInput);
     CPPUNIT_TEST_SUITE_END();
 };
 
 CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(VideoInputTest, VideoInputTest::name());
 
-void
-VideoInputTest::init_daemon()
-{
-    DRing::init(DRing::InitFlag(DRing::DRING_FLAG_DEBUG | DRing::DRING_FLAG_CONSOLE_LOG));
-    DRing::start("dring-sample.yml");
-}
-
 void
 VideoInputTest::testInput()
 {
-- 
GitLab