From ee7ad0bc925e45f74e290d71d2a61e2b1e8c1728 Mon Sep 17 00:00:00 2001 From: Shinji Suzuki Date: Mon, 10 Aug 2020 18:40:59 +0900 Subject: [PATCH 1/2] Fix multiple free. (Pointers to concept_value in the trie are borrowed pointers, which should not be free'd.) --- src/action_class_concept.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/action_class_concept.c b/src/action_class_concept.c index 6694410d4..8c0821cb3 100644 --- a/src/action_class_concept.c +++ b/src/action_class_concept.c @@ -209,7 +209,7 @@ static void destroy(grib_context* context, grib_action* act) grib_concept_value* v = self->concept; if (v) - grib_trie_delete(v->index); + grib_trie_delete_container(v->index); while (v) { grib_concept_value* n = v->next; grib_concept_value_delete(context, v); From af4fcc5fe91077008f458d50e28341a9fbdd030d Mon Sep 17 00:00:00 2001 From: shahramn Date: Tue, 25 Aug 2020 12:32:01 +0100 Subject: [PATCH 2/2] Update action_class_concept.c Minor change to kick off Travis again so I can merge this PR --- src/action_class_concept.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/action_class_concept.c b/src/action_class_concept.c index 8c0821cb3..19064b7f8 100644 --- a/src/action_class_concept.c +++ b/src/action_class_concept.c @@ -208,8 +208,9 @@ static void destroy(grib_context* context, grib_action* act) grib_action_concept* self = (grib_action_concept*)act; grib_concept_value* v = self->concept; - if (v) + if (v) { grib_trie_delete_container(v->index); + } while (v) { grib_concept_value* n = v->next; grib_concept_value_delete(context, v);