From e5dc760b92bd939245c3d24a0cfa3db99f9ac764 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 --- circ/article-request-slip.pl | 2 +- circ/waitingreserves.pl | 2 +- reserve/request.pl | 2 +- tools/batch_delete_records.pl | 2 +- tools/batch_record_modification.pl | 2 +- tools/inventory.pl | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/circ/article-request-slip.pl b/circ/article-request-slip.pl index 2efd4953f7..f31eac72d0 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 @ids = split( ',', $cgi->param('id') ); +my @ids = split( ',', scalar $cgi->param('id') ); my ( $template, $loggedinuser, $cookie ) = get_template_and_user( { diff --git a/circ/waitingreserves.pl b/circ/waitingreserves.pl index d71c53bb77..608fb49d3f 100755 --- a/circ/waitingreserves.pl +++ b/circ/waitingreserves.pl @@ -75,7 +75,7 @@ $template->param( all_branches => 1 ) if $all_branches; if ($cancelBulk) { my $reason = $input->param("cancellation-reason"); - my @hold_ids = split ',', $input->param("ids"); + my @hold_ids = split( ',', scalar $input->param("ids") ); my $params = { reason => $reason, hold_ids => \@hold_ids, diff --git a/reserve/request.pl b/reserve/request.pl index ebc578ee74..9e785c0552 100755 --- a/reserve/request.pl +++ b/reserve/request.pl @@ -124,7 +124,7 @@ elsif ( $action eq 'toggleSuspend' ) { } elsif ( $action eq 'cancelBulk' ) { my $cancellation_reason = $input->param("cancellation-reason"); - my @hold_ids = split ',', $input->param("ids"); + my @hold_ids = split( ',', scalar $input->param("ids")); my $params = { reason => $cancellation_reason, hold_ids => \@hold_ids, diff --git a/tools/batch_delete_records.pl b/tools/batch_delete_records.pl index 11c412d465..f5aab6c660 100755 --- a/tools/batch_delete_records.pl +++ b/tools/batch_delete_records.pl @@ -85,7 +85,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 1aa7df32b4..5ea48f3bed 100755 --- a/tools/batch_record_modification.pl +++ b/tools/batch_record_modification.pl @@ -113,7 +113,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 52b0599703..b7685899ec 100755 --- a/tools/inventory.pl +++ b/tools/inventory.pl @@ -182,7 +182,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