From 75a1c7966d44af971c7d6b8d383f6f336c71f917 Mon Sep 17 00:00:00 2001 From: Matt Blenkinsop Date: Mon, 5 Jun 2023 13:08:47 +0000 Subject: [PATCH] Bug 33896: Check whether index is defined before string match This patch checks that $indexes[$i] is defined before testing whether the string matches to remove the logged warning when searching Test plan: 1) In the intranet, search the catalog from the top search bar 2) Check plack-intranet-error.log 3) There should be a warning "[WARN] Use of uninitialized value within @indexes in string eq" 4) Apply patch 5) restart_all and then re-try the search 6) The warning should no longer appear Signed-off-by: David Cook Signed-off-by: Katrin Fischer Signed-off-by: Tomas Cohen Arazi (cherry picked from commit e0c09d230ce46e9d085a970625408744814cbdc5) Signed-off-by: Martin Renvoize (cherry picked from commit 596d63b426e2fc77dc90af1e0591a9f51031a6d0) Signed-off-by: Pedro Amorim --- catalogue/search.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/catalogue/search.pl b/catalogue/search.pl index f3b5d7bdbc..5954bf2d67 100755 --- a/catalogue/search.pl +++ b/catalogue/search.pl @@ -461,7 +461,7 @@ my $searcher = Koha::SearchEngine::Search->new( # If index indicates the value is a barocode, we need to preproccess it before searching for ( my $i = 0; $i < @operands; $i++ ) { - $operands[$i] = barcodedecode($operands[$i]) if $indexes[$i] eq 'bc'; + $operands[$i] = barcodedecode($operands[$i]) if (defined($indexes[$i]) && $indexes[$i] eq 'bc'); } ## I. BUILD THE QUERY -- 2.20.1