From: bbaetz%student.usyd.edu.au <> Date: Wed, 26 Jun 2002 19:17:25 +0000 (+0000) Subject: Bug 154036 - ccing an invalid user on a bug posts the bug anyway X-Git-Tag: bugzilla-2.16~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3623c69772770fa90a86939b3b183508198db41b;p=thirdparty%2Fbugzilla.git Bug 154036 - ccing an invalid user on a bug posts the bug anyway r=jouni, gerv --- diff --git a/post_bug.cgi b/post_bug.cgi index 9190ab1d7a..8bba70d598 100755 --- a/post_bug.cgi +++ b/post_bug.cgi @@ -200,6 +200,24 @@ if (exists $::FORM{'bug_status'} $::FORM{'everconfirmed'} = 1; } +my %ccids; +my @cc; + +# Create the ccid hash for inserting into the db +# and the list for passing to processmail +# use a hash rather than a list to avoid adding users twice +if (defined $::FORM{'cc'}) { + foreach my $person (split(/[ ,]/, $::FORM{'cc'})) { + if ($person ne "") { + my $ccid = DBNameToIdAndCheck($person); + if ($ccid && !$ccids{$ccid}) { + $ccids{$ccid} = 1; + push(@cc, $person); + } + } + } +} + # Build up SQL string to add bug. my $sql = "INSERT INTO bugs " . "(" . join(",", @used_fields) . ", reporter, creation_ts, groupset) " . @@ -256,22 +274,9 @@ my $id = FetchOneColumn(); SendSQL("INSERT INTO longdescs (bug_id, who, bug_when, thetext) VALUES ($id, $::userid, now(), " . SqlQuote($comment) . ")"); -my %ccids; -my $ccid; -my @cc; - -# Add the CC list -if (defined $::FORM{'cc'}) { - foreach my $person (split(/[ ,]/, $::FORM{'cc'})) { - if ($person ne "") { - $ccid = DBNameToIdAndCheck($person); - if ($ccid && !$ccids{$ccid}) { - SendSQL("INSERT INTO cc (bug_id, who) VALUES ($id, $ccid)"); - $ccids{$ccid} = 1; - push(@cc, $person); - } - } - } +# Insert the cclist into the database +foreach my $ccid (keys(%ccids)) { + SendSQL("INSERT INTO cc (bug_id, who) VALUES ($id, $ccid)"); } SendSQL("UNLOCK TABLES") if Param("shadowdb");