On 08/25/2017 03:51 PM, Yi-Hung Wei wrote:
Free the allocated memory in the pop function.

Fixes: 0f2f05bbcf743 ("ofproto/trace: Add --ct-next option to ofproto/trace")
Signed-off-by: Yi-Hung Wei <yihung....@gmail.com>
---
  ofproto/ofproto-dpif-trace.c | 13 ++++++++-----
  1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/ofproto/ofproto-dpif-trace.c b/ofproto/ofproto-dpif-trace.c
index 38d11002f290..a45c9cfd9619 100644
--- a/ofproto/ofproto-dpif-trace.c
+++ b/ofproto/ofproto-dpif-trace.c
@@ -128,12 +128,14 @@ oftrace_push_ct_state(struct ovs_list *next_ct_states, 
uint32_t ct_state)
      ovs_list_push_back(next_ct_states, &next_ct_state->node);
  }

-static uint32_t
-oftrace_pop_ct_state(struct ovs_list *next_ct_states)
+static void
+oftrace_pop_ct_state(struct ovs_list *next_ct_states, uint32_t *ct_state)
  {
      struct oftrace_next_ct_state *s;
      LIST_FOR_EACH_POP (s, node, next_ct_states) {
-        return s->state;
+        *ct_state = s->state;
+        free(s);
+        return;
      }
      OVS_NOT_REACHED();
  }
@@ -404,7 +406,8 @@ static void
  free_ct_states(struct ovs_list *ct_states)
  {
      while (!ovs_list_is_empty(ct_states)) {
-        oftrace_pop_ct_state(ct_states);
+        uint32_t state;

Maybe a blank line here?

+        oftrace_pop_ct_state(ct_states, &state);
      }
  }

@@ -646,7 +649,7 @@ ofproto_trace(struct ofproto_dpif *ofproto, const struct 
flow *flow,
                  ds_put_cstr(output, " - resume conntrack with default "
                              "ct_state=trk|new (use --ct-next to customize)");
              } else {
-                ct_state = oftrace_pop_ct_state(next_ct_states);
+                oftrace_pop_ct_state(next_ct_states, &ct_state);
                  struct ds s = DS_EMPTY_INITIALIZER;
                  format_flags(&s, ct_state_to_string, ct_state, '|');
                  ds_put_format(output, " - resume conntrack with ct_state=%s",

Besides the minor nit above it LGTM.

Reviewed-by: Greg Rose <gvrose8...@gmail.com>
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to