Merge pull request #86633 from rune-scape/regression-79882

Fix possible crash (use after free) in ScriptTextEditor
This commit is contained in:
Rémi Verschelde 2024-02-13 11:24:51 +01:00
commit 76170379b3
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -500,11 +500,14 @@ void ScriptTextEditor::_validate_script() {
safe_lines.clear();
if (!script->get_language()->validate(text, script->get_path(), &fnc, &errors, &warnings, &safe_lines)) {
for (List<ScriptLanguage::ScriptError>::Element *E = errors.front(); E; E = E->next()) {
List<ScriptLanguage::ScriptError>::Element *E = errors.front();
while (E) {
List<ScriptLanguage::ScriptError>::Element *next_E = E->next();
if ((E->get().path.is_empty() && !script->get_path().is_empty()) || E->get().path != script->get_path()) {
depended_errors[E->get().path].push_back(E->get());
E->erase();
}
E = next_E;
}
if (errors.size() > 0) {