]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 314088: Several Bugzilla::Foo->new crash when passing a string instead of a valid...
authorlpsolit%gmail.com <>
Fri, 28 Oct 2005 17:33:18 +0000 (17:33 +0000)
committerlpsolit%gmail.com <>
Fri, 28 Oct 2005 17:33:18 +0000 (17:33 +0000)
Bugzilla/Classification.pm
Bugzilla/Component.pm
Bugzilla/Group.pm
Bugzilla/Product.pm
template/en/default/global/code-error.html.tmpl

index e87852ba2456522026716b2369946ec1598ac632..63a826dc3216bba0619c85f4e20a1c30c4cf3f9f 100644 (file)
@@ -55,7 +55,10 @@ sub _init {
     my $id = $param unless (ref $param eq 'HASH');
     my $classification;
 
-    if (defined $id && detaint_natural($id)) {
+    if (defined $id) {
+        detaint_natural($id)
+          || ThrowCodeError('param_must_be_numeric',
+                            {function => 'Bugzilla::Classification::_init'});
 
         $classification = $dbh->selectrow_hashref(qq{
             SELECT $columns FROM classifications
index 74ea60d1b15fdcaf8339ee7fb5ee6a2778ffd62c..20df65550ab24d91dfcc9cb2ca44c099a6a7da40 100644 (file)
@@ -58,7 +58,10 @@ sub _init {
     my $id = $param unless (ref $param eq 'HASH');
     my $component;
 
-    if (defined $id && detaint_natural($id)) {
+    if (defined $id) {
+        detaint_natural($id)
+          || ThrowCodeError('param_must_be_numeric',
+                            {function => 'Bugzilla::Component::_init'});
 
         $component = $dbh->selectrow_hashref(qq{
             SELECT $columns FROM components
index cc57fca69a847348d7b770032f803b5601e70dbe..32c4696db8dccae33be4c5378be58e01d5fba169 100644 (file)
@@ -61,7 +61,10 @@ sub _init {
     my $id = $param unless (ref $param eq 'HASH');
     my $group;
 
-    if (defined $id && detaint_natural($id)) {
+    if (defined $id) {
+        detaint_natural($id)
+          || ThrowCodeError('param_must_be_numeric',
+                            {function => 'Bugzilla::Group::_init'});
 
         $group = $dbh->selectrow_hashref(qq{
             SELECT $columns FROM groups
index 2bc9da52d9ecefad5d2f1e863c247fc0f82db4df..5405b1651af74b180ee537165b79d8169149fa5d 100644 (file)
@@ -63,7 +63,10 @@ sub _init {
     my $id = $param unless (ref $param eq 'HASH');
     my $product;
 
-    if (defined $id && detaint_natural($id)) {
+    if (defined $id) {
+        detaint_natural($id)
+          || ThrowCodeError('param_must_be_numeric',
+                            {function => 'Bugzilla::Product::_init'});
 
         $product = $dbh->selectrow_hashref(qq{
             SELECT $columns FROM products
index 440cc19bf43ff55b687c1910861c401b263c9e2e..0fe946cb532d542e256a4a07f9ef8503c91e351e 100644 (file)
   [% ELSIF error == "need_quipid" %]
     A valid quipid is needed.
 
+  [% ELSIF error == "param_must_be_numeric" %]
+    [% title = "Invalid Parameter" %]
+    Invalid parameter passed to [% function FILTER html %].
+    It must be numeric.
+
   [% ELSIF error == "unknown_comparison_type" %]
     Specified comparison type is not supported.