mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-13 21:36:00 +03:00
Changed 'euqal_range()' + loop by 'find()' in resolveFirst() methods
This commit is contained in:
parent
625f9a5300
commit
7c4dcdfa4b
@ -109,12 +109,13 @@ void AnchoredSetVariable::resolve(const std::string &key,
|
||||
|
||||
std::unique_ptr<std::string> AnchoredSetVariable::resolveFirst(
|
||||
const std::string &key) {
|
||||
auto range = equal_range(key);
|
||||
for (auto it = range.first; it != range.second; ++it) {
|
||||
std::unique_ptr<std::string> b(new std::string());
|
||||
b->assign(it->second->getValue());
|
||||
|
||||
if (auto search = this->find(key); search != this->end()) {
|
||||
auto b = std::make_unique<std::string>();
|
||||
b->assign(search->second->getValue());
|
||||
return b;
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
@ -67,13 +67,13 @@ bool InMemoryPerProcess::storeOrUpdateFirst(const std::string &key,
|
||||
bool InMemoryPerProcess::updateFirst(const std::string &key,
|
||||
const std::string &value) {
|
||||
pthread_mutex_lock(&m_lock);
|
||||
auto range = this->equal_range(key);
|
||||
|
||||
for (auto it = range.first; it != range.second; ++it) {
|
||||
it->second.setValue(value);
|
||||
if (auto search = this->find(key); search != this->end()) {
|
||||
search->second.setValue(value);
|
||||
pthread_mutex_unlock(&m_lock);
|
||||
return true;
|
||||
}
|
||||
|
||||
pthread_mutex_unlock(&m_lock);
|
||||
return false;
|
||||
}
|
||||
@ -97,11 +97,11 @@ void InMemoryPerProcess::delIfExpired(const std::string& key) {
|
||||
|
||||
void InMemoryPerProcess::setExpiry(const std::string& key, int32_t expiry_seconds) {
|
||||
pthread_mutex_lock(&m_lock);
|
||||
auto range = this->equal_range(key);
|
||||
for (auto it = range.first; it != range.second; ++it) {
|
||||
it->second.setExpiry(expiry_seconds);
|
||||
|
||||
if (auto search = this->find(key); search != this->end()) {
|
||||
search->second.setExpiry(expiry_seconds);
|
||||
pthread_mutex_unlock(&m_lock);
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
// We allow an expiry value to be set for a key that has not (yet) had a value set.
|
||||
|
Loading…
x
Reference in New Issue
Block a user