mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-15 23:55:03 +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(
|
std::unique_ptr<std::string> AnchoredSetVariable::resolveFirst(
|
||||||
const std::string &key) {
|
const std::string &key) {
|
||||||
auto range = equal_range(key);
|
|
||||||
for (auto it = range.first; it != range.second; ++it) {
|
if (auto search = this->find(key); search != this->end()) {
|
||||||
std::unique_ptr<std::string> b(new std::string());
|
auto b = std::make_unique<std::string>();
|
||||||
b->assign(it->second->getValue());
|
b->assign(search->second->getValue());
|
||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,13 +67,13 @@ bool InMemoryPerProcess::storeOrUpdateFirst(const std::string &key,
|
|||||||
bool InMemoryPerProcess::updateFirst(const std::string &key,
|
bool InMemoryPerProcess::updateFirst(const std::string &key,
|
||||||
const std::string &value) {
|
const std::string &value) {
|
||||||
pthread_mutex_lock(&m_lock);
|
pthread_mutex_lock(&m_lock);
|
||||||
auto range = this->equal_range(key);
|
|
||||||
|
|
||||||
for (auto it = range.first; it != range.second; ++it) {
|
if (auto search = this->find(key); search != this->end()) {
|
||||||
it->second.setValue(value);
|
search->second.setValue(value);
|
||||||
pthread_mutex_unlock(&m_lock);
|
pthread_mutex_unlock(&m_lock);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
pthread_mutex_unlock(&m_lock);
|
pthread_mutex_unlock(&m_lock);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -97,11 +97,11 @@ void InMemoryPerProcess::delIfExpired(const std::string& key) {
|
|||||||
|
|
||||||
void InMemoryPerProcess::setExpiry(const std::string& key, int32_t expiry_seconds) {
|
void InMemoryPerProcess::setExpiry(const std::string& key, int32_t expiry_seconds) {
|
||||||
pthread_mutex_lock(&m_lock);
|
pthread_mutex_lock(&m_lock);
|
||||||
auto range = this->equal_range(key);
|
|
||||||
for (auto it = range.first; it != range.second; ++it) {
|
if (auto search = this->find(key); search != this->end()) {
|
||||||
it->second.setExpiry(expiry_seconds);
|
search->second.setExpiry(expiry_seconds);
|
||||||
pthread_mutex_unlock(&m_lock);
|
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.
|
// 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