From bac05d3f3710c5aa09e0053055c1802ddef16e36 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Thu, 23 Dec 2021 16:58:57 -0300 Subject: [PATCH] Bug 29771: Scalar context for split This patch tackles a very specific scenario. Calling split(..., CGI::param) makes it be called in list context. The split docs say: split /PATTERN/,EXPR,LIMIT this means the first CGI param will be used as EXPR and the second one as LIMIT, which is wrong anyway. So the fix is to just force scalar context. To test: 1. Not sure, just make sure nothing breaks when using the scripts in the browser. Signed-off-by: Tomas Cohen Arazi Signed-off-by: Nick Clemens Signed-off-by: Martin Renvoize Signed-off-by: Fridolin Somers Signed-off-by: Kyle M Hall (cherry picked from commit e5dc760b92bd939245c3d24a0cfa3db99f9ac764) Signed-off-by: Andrew Fuerste-Henry --- circ/article-request-slip.pl | 2 +- tools/batch_delete_records.pl | 2 +- tools/batch_record_modification.pl | 2 +- tools/inventory.pl | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/circ/article-request-slip.pl b/circ/article-request-slip.pl index 2175561edb..7f8aaa4f67 100755 --- a/circ/article-request-slip.pl +++ b/circ/article-request-slip.pl @@ -30,7 +30,7 @@ use Koha::Patrons; my $cgi = CGI->new; -my $id = $cgi->param('id'); +my $id = scalar $cgi->param('id'); my ( $template, $loggedinuser, $cookie ) = get_template_and_user( { diff --git a/tools/batch_delete_records.pl b/tools/batch_delete_records.pl index c387f98a06..5323341843 100755 --- a/tools/batch_delete_records.pl +++ b/tools/batch_delete_records.pl @@ -81,7 +81,7 @@ if ( $op eq 'form' ) { } } else { # The user enters manually the list of id - push @record_ids, split( /\s\n/, $input->param('recordnumber_list') ); + push @record_ids, split( /\s\n/, scalar $input->param('recordnumber_list') ); } for my $record_id ( uniq @record_ids ) { diff --git a/tools/batch_record_modification.pl b/tools/batch_record_modification.pl index e972bcdf4d..39921dab54 100755 --- a/tools/batch_record_modification.pl +++ b/tools/batch_record_modification.pl @@ -112,7 +112,7 @@ if ( $op eq 'form' ) { } } else { # The user enters manually the list of id - push @record_ids, split( /\s\n/, $input->param('recordnumber_list') ); + push @record_ids, split( /\s\n/, scalar $input->param('recordnumber_list') ); } for my $record_id ( uniq @record_ids ) { diff --git a/tools/inventory.pl b/tools/inventory.pl index 7503e8ce5d..a224306e5b 100755 --- a/tools/inventory.pl +++ b/tools/inventory.pl @@ -183,7 +183,7 @@ if ( ($uploadbarcodes && length($uploadbarcodes) > 0) || ($barcodelist && length push @uploadedbarcodes, grep { /\S/ } split( /[$split_chars]/, $barcode ); } } else { - push @uploadedbarcodes, split(/\s\n/, $input->param('barcodelist') ); + push @uploadedbarcodes, split(/\s\n/, scalar $input->param('barcodelist') ); $uploadbarcodes = $barcodelist; } for my $barcode (@uploadedbarcodes) { -- 2.39.5