From 0f2b863c01989d7eee89f30607ef82d7e811be98 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Sun, 9 Apr 2023 09:39:48 -0400 Subject: [PATCH] LibVideo: Initialize primitive member variables in PlaybackManager Using uninitialized primitives is undefined behavior. In this case, all videos would autoplay on Serenity, but not play at all on Lagom, due to some m_playing booleans being uninitialized. --- Userland/Libraries/LibVideo/PlaybackManager.cpp | 4 ++-- Userland/Libraries/LibVideo/PlaybackManager.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Userland/Libraries/LibVideo/PlaybackManager.cpp b/Userland/Libraries/LibVideo/PlaybackManager.cpp index 31c35b163d..95966a1fdb 100644 --- a/Userland/Libraries/LibVideo/PlaybackManager.cpp +++ b/Userland/Libraries/LibVideo/PlaybackManager.cpp @@ -314,7 +314,7 @@ protected: return {}; } - bool m_playing; + bool m_playing { false }; }; class PlaybackManager::StartingStateHandler : public PlaybackManager::ResumingStateHandler { @@ -362,7 +362,7 @@ class PlaybackManager::StartingStateHandler : public PlaybackManager::ResumingSt return {}; } - bool m_playing; + bool m_playing { false }; }; class PlaybackManager::PlayingStateHandler : public PlaybackManager::PlaybackStateHandler { diff --git a/Userland/Libraries/LibVideo/PlaybackManager.h b/Userland/Libraries/LibVideo/PlaybackManager.h index f5394612c8..5bd9c919be 100644 --- a/Userland/Libraries/LibVideo/PlaybackManager.h +++ b/Userland/Libraries/LibVideo/PlaybackManager.h @@ -156,7 +156,7 @@ private: NonnullOwnPtr m_playback_handler; Optional m_next_frame; - u64 m_skipped_frames; + u64 m_skipped_frames { 0 }; // This is a nested class to allow private access. class PlaybackStateHandler {