]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 1085182: Bugzilla::Bug->check must check that a bug ID is defined when it gets...
authorFrédéric Buclin <LpSolit@gmail.com>
Mon, 5 Jan 2015 18:34:02 +0000 (19:34 +0100)
committerFrédéric Buclin <LpSolit@gmail.com>
Mon, 5 Jan 2015 18:34:02 +0000 (19:34 +0100)
r=dkl a=glob

Bugzilla/Bug.pm

index b57af4d39bfdaa89bf865606229a7993e8bbea8e..b3931584c2947f618f95a11a8f2c8aef4399b6af 100644 (file)
@@ -363,16 +363,16 @@ sub new {
 
 sub check {
     my $class = shift;
-    my ($id, $field) = @_;
-
-    ThrowUserError('improper_bug_id_field_value', { field => $field }) unless defined $id;
+    my ($param, $field) = @_;
 
     # Bugzilla::Bug throws lots of special errors, so we don't call
     # SUPER::check, we just call our new and do our own checks.
-    my $self = $class->new(trim($id));
-    # For error messages, use the id that was returned by new(), because
-    # it's cleaned up.
-    $id = $self->id;
+    my $id = ref($param)
+        ? ($param->{id} = trim($param->{id}))
+        : ($param = trim($param));
+    ThrowUserError('improper_bug_id_field_value', { field => $field }) unless defined $id;
+
+    my $self = $class->new($param);
 
     if ($self->{error}) {
         if ($self->{error} eq 'NotFound') {