]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 323031: process_bug.cgi crashes when encountering a deleted user account and...
authorlpsolit%gmail.com <>
Wed, 15 Nov 2006 03:02:01 +0000 (03:02 +0000)
committerlpsolit%gmail.com <>
Wed, 15 Nov 2006 03:02:01 +0000 (03:02 +0000)
process_bug.cgi

index d3f52641e436d3026e349f878b3d9425ca2810c4..00594d89e87c1eeea892fd55e30820db750e7f68 100755 (executable)
@@ -1342,7 +1342,8 @@ if ($prod_changed && Bugzilla->params->{"strict_isolation"}) {
         $sth_cc->execute($id);
         my @blocked_cc = ();
         while (my ($pid) = $sth_cc->fetchrow_array) {
-            $usercache{$pid} ||= Bugzilla::User->new($pid);
+            # Ignore deleted accounts. They will never get notification.
+            $usercache{$pid} ||= Bugzilla::User->new($pid) || next;
             my $cc_user = $usercache{$pid};
             if (!$cc_user->can_edit_product($product->id)) {
                 push (@blocked_cc, $cc_user->login);
@@ -1357,7 +1358,7 @@ if ($prod_changed && Bugzilla->params->{"strict_isolation"}) {
         $sth_bug->execute($id);
         my ($assignee, $qacontact) = $sth_bug->fetchrow_array;
         if (!$assignee_checked) {
-            $usercache{$assignee} ||= Bugzilla::User->new($assignee);
+            $usercache{$assignee} ||= Bugzilla::User->new($assignee) || next;
             my $assign_user = $usercache{$assignee};
             if (!$assign_user->can_edit_product($product->id)) {
                     ThrowUserError('invalid_user_group',
@@ -1367,7 +1368,7 @@ if ($prod_changed && Bugzilla->params->{"strict_isolation"}) {
             }
         }
         if (!$qacontact_checked && $qacontact) {
-            $usercache{$qacontact} ||= Bugzilla::User->new($qacontact);
+            $usercache{$qacontact} ||= Bugzilla::User->new($qacontact) || next;
             my $qa_user = $usercache{$qacontact};
             if (!$qa_user->can_edit_product($product->id)) {
                     ThrowUserError('invalid_user_group',