diff options
author | Frédéric Buclin <LpSolit@gmail.com> | 2014-02-24 18:14:08 +0100 |
---|---|---|
committer | Frédéric Buclin <LpSolit@gmail.com> | 2014-02-24 18:14:08 +0100 |
commit | ef925d6942a3462a9c1d52406a6145b5e31faefb (patch) | |
tree | 47f6c83ba826cb37e6b318cd5362e6f3b61e732e /Bugzilla/Attachment.pm | |
parent | 97cd64dac9b79d5cda2c0f4b6310c52ac3a2b169 (diff) | |
download | bugzilla-ef925d6942a3462a9c1d52406a6145b5e31faefb.tar.gz bugzilla-ef925d6942a3462a9c1d52406a6145b5e31faefb.tar.xz |
Bug 975896: Bugzilla crashes when editing a flag type which is not specifically requestable
r/a=glob
Diffstat (limited to 'Bugzilla/Attachment.pm')
-rw-r--r-- | Bugzilla/Attachment.pm | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Bugzilla/Attachment.pm b/Bugzilla/Attachment.pm index d0bd8e4c2..0f3db8896 100644 --- a/Bugzilla/Attachment.pm +++ b/Bugzilla/Attachment.pm @@ -935,10 +935,10 @@ sub remove_from_db { my $dbh = Bugzilla->dbh; $dbh->bz_start_transaction(); - my @flag_ids = $dbh->selectrow_array( + my $flag_ids = $dbh->selectcol_arrayref( 'SELECT id FROM flags WHERE attach_id = ?', undef, $self->id); - $dbh->do('DELETE FROM flags WHERE ' . $dbh->sql_in('id', \@flag_ids)) - if @flag_ids; + $dbh->do('DELETE FROM flags WHERE ' . $dbh->sql_in('id', $flag_ids)) + if @$flag_ids; $dbh->do('DELETE FROM attach_data WHERE id = ?', undef, $self->id); $dbh->do('UPDATE attachments SET mimetype = ?, ispatch = ?, isobsolete = ? WHERE attach_id = ?', undef, ('text/plain', 0, 1, $self->id)); @@ -952,7 +952,7 @@ sub remove_from_db { # As we don't call SUPER->remove_from_db we need to manually clear # memcached here. Bugzilla->memcached->clear({ table => 'attachments', id => $self->id }); - foreach my $flag_id (@flag_ids) { + foreach my $flag_id (@$flag_ids) { Bugzilla->memcached->clear({ table => 'flags', id => $flag_id }); } } |