Bug 577765: Allow XML-RPC to accept multiple positional parameters
r=ghendricks, a=mkanat git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@260758 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
a9bd4aaf0b
commit
dad4debae5
@ -152,13 +152,15 @@ use Bugzilla::WebService::Util qw(taint_data);
|
||||
|
||||
sub paramsin {
|
||||
my $self = shift;
|
||||
return $self->{bz_params_in} if $self->{bz_params_in};
|
||||
my $params = $self->SUPER::paramsin(@_);
|
||||
if ($self->{_bz_do_taint}) {
|
||||
taint_data($params);
|
||||
if (!$self->{bz_params_in}) {
|
||||
my @params = $self->SUPER::paramsin(@_);
|
||||
if ($self->{_bz_do_taint}) {
|
||||
taint_data(@params);
|
||||
}
|
||||
$self->{bz_params_in} = \@params;
|
||||
}
|
||||
$self->{bz_params_in} = $params;
|
||||
return $self->{bz_params_in};
|
||||
my $params = $self->{bz_params_in};
|
||||
return wantarray ? @$params : $params->[0];
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
@ -52,13 +52,13 @@ sub filter ($$) {
|
||||
}
|
||||
|
||||
sub taint_data {
|
||||
my $params = shift;
|
||||
return if !$params;
|
||||
my @params = @_;
|
||||
return if !@params;
|
||||
# Though this is a private function, it hasn't changed since 2004 and
|
||||
# should be safe to use, and prevents us from having to write it ourselves
|
||||
# or require another module to do it.
|
||||
Test::Taint::_deeply_traverse(\&_delete_bad_keys, $params);
|
||||
Test::Taint::taint_deeply($params);
|
||||
Test::Taint::_deeply_traverse(\&_delete_bad_keys, \@params);
|
||||
Test::Taint::taint_deeply(\@params);
|
||||
}
|
||||
|
||||
sub _delete_bad_keys {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user