1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-31 22:10:45 +02:00

[ticket/11515] Extra check after acquiring locks.

Add additional check to flock.php and db.php to ensure lock aquiring.

PHPBB3-11515
This commit is contained in:
Vishal Pandey
2017-03-14 00:57:28 +05:30
parent 967817143d
commit 9063556a57
3 changed files with 37 additions and 2 deletions

View File

@@ -147,6 +147,27 @@ class config implements \ArrayAccess, \IteratorAggregate, \Countable
return false;
}
/**
* Checks configuration option's value only if the new_value matches the
* current configuration value and the configuration value does exist.Called
*only after set_atomic has been called.
*
* @param string $key The configuration option's name
* @param string $old_value Current configuration value
* @param string $new_value New configuration value
* @throws \phpbb\exception\http_exception when configuration value is set and not equal to *new_value.
* @return bool True if the value was changed, false otherwise.
*/
public function ensure_lock($key, $new_value)
{
if(isset($this->config[$key]) && $this->config[$key] == $new_value)
{
return true;
} else {
throw new \phpbb\exception\http_exception(500, 'Failure while aqcuiring locks.');
}
}
/**
* Increments an integer configuration value.
*