Quellcode durchsuchen

LibGUI: Check that AutocompleteBox's selection row is valid

Previously we didn't check that the selection's row index is in a valid
range before attempting to access its data via the model.

This could cause an out-of-bounds access to the model's Vector of
suggestions.

I think this should fix #7404, but I can't verify it does because
I wasn't able to reproduce it on my machine.
Itamar vor 4 Jahren
Ursprung
Commit
7c2941d4ea
1 geänderte Dateien mit 1 neuen und 1 gelöschten Zeilen
  1. 1 1
      Userland/Libraries/LibGUI/AutocompleteProvider.cpp

+ 1 - 1
Userland/Libraries/LibGUI/AutocompleteProvider.cpp

@@ -168,7 +168,7 @@ void AutocompleteBox::apply_suggestion()
         return;
 
     auto selected_index = m_suggestion_view->selection().first();
-    if (!selected_index.is_valid())
+    if (!selected_index.is_valid() || !m_suggestion_view->model()->is_valid(selected_index))
         return;
 
     auto suggestion_index = m_suggestion_view->model()->index(selected_index.row(), AutocompleteSuggestionModel::Column::Name);