From c898ade58ac4ed96249ec6d69cba30f86e2b2788 Mon Sep 17 00:00:00 2001 From: Mark Cannon Date: Thu, 17 Mar 2011 15:31:45 -0400 Subject: [PATCH] fix potential crash in PIUIO/ITGIO due to uninitialized guard variable --- src/arch/InputHandler/InputHandler_Iow.cpp | 5 +++++ src/arch/InputHandler/InputHandler_PIUIO.cpp | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/arch/InputHandler/InputHandler_Iow.cpp b/src/arch/InputHandler/InputHandler_Iow.cpp index bd659dc4..ec95e8a9 100644 --- a/src/arch/InputHandler/InputHandler_Iow.cpp +++ b/src/arch/InputHandler/InputHandler_Iow.cpp @@ -19,6 +19,11 @@ bool InputHandler_Iow::s_bInitialized = false; InputHandler_Iow::InputHandler_Iow() { + m_bFoundDevice = false; + + /* if a handler has already been created (e.g. by ScreenArcadeStart) + * and it has claimed the board, don't try to claim it again. */ + if( s_bInitialized ) { LOG->Warn( "InputHandler_Iow: Redundant driver loaded. Disabling..." ); diff --git a/src/arch/InputHandler/InputHandler_PIUIO.cpp b/src/arch/InputHandler/InputHandler_PIUIO.cpp index cda70874..1f87829e 100644 --- a/src/arch/InputHandler/InputHandler_PIUIO.cpp +++ b/src/arch/InputHandler/InputHandler_PIUIO.cpp @@ -14,6 +14,10 @@ bool InputHandler_PIUIO::s_bInitialized = false; InputHandler_PIUIO::InputHandler_PIUIO() { + m_bFoundDevice = false; + + /* if a handler has already been created (e.g. by ScreenArcadeStart) + * and it has claimed the board, don't try to claim it again. */ if( s_bInitialized ) { LOG->Warn( "InputHandler_PIUIO: Redundant driver loaded. Disabling..." ); @@ -30,6 +34,7 @@ InputHandler_PIUIO::InputHandler_PIUIO() LOG->Trace( "Opened PIUIO board." ); // set the relevant global flags (static flag, input type) + m_bFoundDevice = true; s_bInitialized = true; m_bShutdown = false; -- 2.11.0