diff options
author | Frédéric Buclin <LpSolit@gmail.com> | 2013-11-04 19:53:52 +0100 |
---|---|---|
committer | Frédéric Buclin <LpSolit@gmail.com> | 2013-11-04 19:53:52 +0100 |
commit | ef3069138701d41db2f44dbe81e1f0ca50d9fa06 (patch) | |
tree | 0faa40ba56ed2c786cb550855d7b5fa46133d43a /Bugzilla/Version.pm | |
parent | 663b5520e2d205979dfa39ea14b1ef9b55296635 (diff) | |
download | bugzilla-ef3069138701d41db2f44dbe81e1f0ca50d9fa06.tar.gz bugzilla-ef3069138701d41db2f44dbe81e1f0ca50d9fa06.tar.xz |
Bug 926952: Possible race conditions when editing or deleting a milestone or a version
r/a=glob
Diffstat (limited to 'Bugzilla/Version.pm')
-rw-r--r-- | Bugzilla/Version.pm | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Bugzilla/Version.pm b/Bugzilla/Version.pm index 317b73d95..1dcd2b141 100644 --- a/Bugzilla/Version.pm +++ b/Bugzilla/Version.pm @@ -118,14 +118,18 @@ sub bug_count { sub update { my $self = shift; + my $dbh = Bugzilla->dbh; + + $dbh->bz_start_transaction(); my ($changes, $old_self) = $self->SUPER::update(@_); if (exists $changes->{value}) { - my $dbh = Bugzilla->dbh; $dbh->do('UPDATE bugs SET version = ? WHERE version = ? AND product_id = ?', undef, ($self->name, $old_self->name, $self->product_id)); } + $dbh->bz_commit_transaction(); + return $changes; } |