diff --git a/phpBB/phpbb/search/backend/fulltext_native.php b/phpBB/phpbb/search/backend/fulltext_native.php index aefc73b8cd..56161d3eb2 100644 --- a/phpBB/phpbb/search/backend/fulltext_native.php +++ b/phpBB/phpbb/search/backend/fulltext_native.php @@ -393,7 +393,7 @@ class fulltext_native extends base implements search_backend_interface $word = substr($word, 1); // a group of which at least one may not be in the resulting posts - if ($word[0] == '(') + if (isset($word[0]) && $word[0] == '(') { $word = array_unique(explode('|', substr($word, 1, -1))); $mode = 'must_exclude_one'; diff --git a/tests/functional/search/base.php b/tests/functional/search/base.php index b66bb5c7a2..b209c21348 100644 --- a/tests/functional/search/base.php +++ b/tests/functional/search/base.php @@ -183,6 +183,7 @@ abstract class phpbb_functional_search_base extends phpbb_functional_test_case } $this->assert_search_not_found('loremipsumdedo'); + $this->assert_search_not_found('loremipsumdedo+-'); // test search query ending with the space followed by hyphen $this->assert_search_not_found('barsearch+-testing'); // test excluding keyword $this->assert_search_for_author_not_found('authornotexists');