diff options
author | lpsolit%gmail.com <> | 2006-11-15 04:02:01 +0100 |
---|---|---|
committer | lpsolit%gmail.com <> | 2006-11-15 04:02:01 +0100 |
commit | d57079f4b474151515c6c5d298a3ed559943115e (patch) | |
tree | fea937e1f784ea89d6b3363cd9bc179c7f66e68a | |
parent | e3bdbb5415c1d979dc923b188f4697fbcaee89aa (diff) | |
download | bugzilla-d57079f4b474151515c6c5d298a3ed559943115e.tar.gz bugzilla-d57079f4b474151515c6c5d298a3ed559943115e.tar.xz |
Bug 323031: process_bug.cgi crashes when encountering a deleted user account and when strict_isolation is on - Patch by Frédéric Buclin <LpSolit@gmail.com> r=wicked a=justdave
-rwxr-xr-x | process_bug.cgi | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/process_bug.cgi b/process_bug.cgi index d3f52641e..00594d89e 100755 --- a/process_bug.cgi +++ b/process_bug.cgi @@ -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', |