Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
bugzilla
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
bugzilla
Commits
fc5cdf3a
Commit
fc5cdf3a
authored
Dec 22, 2015
by
Dylan Hardison
1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug 1230932 - Providing a condition as an ID to the webservice results in a taint error
r=dkl,a=dkl
parent
3e0ed9c3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
14 additions
and
0 deletions
+14
-0
Constants.pm
Bugzilla/WebService/Constants.pm
+1
-0
Util.pm
Bugzilla/WebService/Util.pm
+10
-0
code-error.html.tmpl
template/en/default/global/code-error.html.tmpl
+3
-0
No files found.
Bugzilla/WebService/Constants.pm
View file @
fc5cdf3a
...
...
@@ -51,6 +51,7 @@ use constant WS_ERROR_CODE => {
number_too_large
=>
54
,
number_too_small
=>
55
,
illegal_date
=>
56
,
param_integer_array_required
=>
58
,
# Bug errors usually occupy the 100-200 range.
improper_bug_id_field_value
=>
100
,
bug_id_does_not_exist
=>
101
,
...
...
Bugzilla/WebService/Util.pm
View file @
fc5cdf3a
...
...
@@ -9,6 +9,9 @@ package Bugzilla::WebService::Util;
use
strict
;
use
base
qw(Exporter)
;
use
List::
MoreUtils
qw(all any)
;
use
Bugzilla::
Error
;
# We have to "require", not "use" this, because otherwise it tries to
# use features of Test::More during import().
require
Test::
Taint
;
...
...
@@ -104,6 +107,7 @@ sub validate {
# $params should be.
return
(
$self
,
undef
)
if
(
defined
$params
and
!
ref
$params
);
my
@id_params
=
qw( ids comment_ids )
;
# If @keys is not empty then we convert any named
# parameters that have scalar values to arrayrefs
# that match.
...
...
@@ -112,6 +116,12 @@ sub validate {
$params
->
{
$key
}
=
ref
$params
->
{
$key
}
?
$params
->
{
$key
}
:
[
$params
->
{
$key
}
];
if
(
any
{
$key
eq
$_
}
@id_params
)
{
my
$ids
=
$params
->
{
$key
};
ThrowCodeError
(
'param_integer_array_required'
,
{
param
=>
$key
})
unless
ref
(
$ids
)
eq
'ARRAY'
&&
all
{
/^[0-9]+$/
}
@$ids
;
}
}
}
...
...
template/en/default/global/code-error.html.tmpl
View file @
fc5cdf3a
...
...
@@ -290,6 +290,9 @@
a <code>[% param FILTER html %]</code> argument, and that
argument was not set.
[% ELSIF error == "param_integer_array_required" %]
The <code>[% param FILTER html %]</code> parameter must be an array of integers.
[% ELSIF error == "params_required" %]
[% title = "Missing Parameter" %]
The function <code>[% function FILTER html %]</code> requires
...
...
Дмитрий Никулин
@TheOwl
mentioned in commit
28e72780
·
Jun 03, 2016
mentioned in commit
28e72780
mentioned in commit 28e727801f02e25d9ac3b4ee53bb62c0937f4372
Toggle commit list
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment