From be932de25261aadef37ec64b1b31c85b89ec232b Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Thu, 14 Mar 2013 13:37:16 -0700 Subject: [PATCH] The release invalidates the iterator. --- src/cpp/ripple/SerializedObject.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cpp/ripple/SerializedObject.cpp b/src/cpp/ripple/SerializedObject.cpp index 75dbfb108c..bf8ee43265 100644 --- a/src/cpp/ripple/SerializedObject.cpp +++ b/src/cpp/ripple/SerializedObject.cpp @@ -174,13 +174,13 @@ bool STObject::setType(const SOTemplate &type) if (it->getFName() == elem->e_field) { // matching entry, move to new vector match = true; - newData.push_back(mData.release(it).release()); if ((elem->flags == SOE_DEFAULT) && it->isDefault()) { cLog(lsWARNING) << "setType( " << getFName().getName() << ") invalid default " << elem->e_field.fieldName; valid = false; } + newData.push_back(mData.release(it).release()); // CAUTION: This renders 'it' invalid break; }