summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Version.pm
diff options
context:
space:
mode:
authorFrédéric Buclin <LpSolit@gmail.com>2013-11-04 19:53:52 +0100
committerFrédéric Buclin <LpSolit@gmail.com>2013-11-04 19:53:52 +0100
commitef3069138701d41db2f44dbe81e1f0ca50d9fa06 (patch)
tree0faa40ba56ed2c786cb550855d7b5fa46133d43a /Bugzilla/Version.pm
parent663b5520e2d205979dfa39ea14b1ef9b55296635 (diff)
downloadbugzilla-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.pm6
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;
}