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 <tomascohen@theke.io>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit e5dc760b92)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
This commit is contained in:
Tomas Cohen Arazi 2021-12-23 16:58:57 -03:00 committed by Andrew Fuerste-Henry
parent 72a477c43f
commit bac05d3f37
4 changed files with 4 additions and 4 deletions

View File

@ -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(
{

View File

@ -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 ) {

View File

@ -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 ) {

View File

@ -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) {