diff --git a/CHANGES b/CHANGES index f1acc5ec72..e6c73264f9 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,8 @@ +2.6-326 | 2019-05-23 10:49:38 -0700 + + * Fix parse-time RecordVal tracking containing duplicates (Jon Siwek, Corelight) + 2.6-325 | 2019-05-22 23:56:23 -0700 * Add leak-checks for new copy operations (Johanna Amann, Corelight) diff --git a/VERSION b/VERSION index 3dcfccc301..338bb476a3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.6-325 +2.6-326 diff --git a/src/Val.cc b/src/Val.cc index 4ef0eda182..8d6dc71fc9 100644 --- a/src/Val.cc +++ b/src/Val.cc @@ -2887,6 +2887,12 @@ RecordVal::RecordVal(RecordType* t, bool init_fields) : MutableVal(t) int n = record_type->NumFields(); val_list* vl = val.val_list_val = new val_list(n); + if ( is_parsing ) + { + parse_time_records.emplace_back(this); + Ref(); + } + if ( ! init_fields ) return; @@ -2928,12 +2934,6 @@ RecordVal::RecordVal(RecordType* t, bool init_fields) : MutableVal(t) vl->append(def ? def->Ref() : 0); Unref(def); - - if ( is_parsing ) - { - parse_time_records.emplace_back(this); - Ref(); - } } }