]> granicus.if.org Git - icinga2/commitdiff
livestatus: fix missing object lock on array in attribute filter
authorMichael Friedrich <michael.friedrich@netways.de>
Tue, 16 Jul 2013 13:38:59 +0000 (15:38 +0200)
committerMichael Friedrich <michael.friedrich@netways.de>
Tue, 16 Jul 2013 13:38:59 +0000 (15:38 +0200)
components/livestatus/attributefilter.cpp

index 27e13af7cba76abf2f34ab4f271104a52c9360cc..6b510fad027c93e1a6c4d2d77678d1951b96354e 100644 (file)
@@ -20,6 +20,7 @@
 #include "livestatus/attributefilter.h"
 #include "base/convert.h"
 #include "base/array.h"
+#include "base/objectlock.h"
 #include <boost/foreach.hpp>
 
 using namespace icinga;
@@ -38,6 +39,7 @@ bool AttributeFilter::Apply(const Table::Ptr& table, const Value& row)
        if (value.IsObjectType<Array>()) {
                if (m_Operator == ">=") {
                        Array::Ptr array = value;
+                       ObjectLock olock(array);
                        BOOST_FOREACH(const String& item, array) {
                                if (item == m_Operand)
                                        return true; /* Item found in list. */