From e82af3fb9f7aea17d7b155026089c57c3423aea0 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 --- 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 1b6638307d..40fc1d13f4 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.32.0