From 1c1945d0ca3c269168c8757d90c4b6e8be57022d Mon Sep 17 00:00:00 2001 From: Th3maz1ng Date: Wed, 30 Mar 2022 12:15:09 +0200 Subject: [PATCH] Corrected a NULL pointer dereference --- src/app/ScreenManager.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/app/ScreenManager.cpp b/src/app/ScreenManager.cpp index 3bb16c3..88cbc7e 100644 --- a/src/app/ScreenManager.cpp +++ b/src/app/ScreenManager.cpp @@ -292,7 +292,9 @@ void ScreenManager::displayNextView() { _forceRefresh = true; _error = OK; - if(_currentView == NO_CURRENT_VIEW && !isListEmpty(_viewLinkedList)) + if(isListEmpty(_viewLinkedList))return; + + if(_currentView == NO_CURRENT_VIEW) { _currentView = _viewLinkedList; } @@ -301,7 +303,7 @@ void ScreenManager::displayNextView() _currentView = _currentView->next; } //End of the views, we cycle again :) - else if(isListEmpty(_currentView->next) && !isListEmpty(_viewLinkedList)) + else if(isListEmpty(_currentView->next)) { _currentView = _viewLinkedList; } @@ -323,7 +325,9 @@ void ScreenManager::displayPreviousView() { _forceRefresh = true; _error = OK; - if(_currentView == NO_CURRENT_VIEW && !isListEmpty(_tail)) + if(isListEmpty(_tail))return; + + if(_currentView == NO_CURRENT_VIEW) { _currentView = _tail; } @@ -332,7 +336,7 @@ void ScreenManager::displayPreviousView() _currentView = _currentView->previous; } //End of the views, we cycle again :) - else if(isListEmpty(_currentView->previous) && !isListEmpty(_tail)) + else if(isListEmpty(_currentView->previous)) { _currentView = _tail; }