Found by inspection.
Signed-off-by: Ethan Jackson <[email protected]>
---
 lib/rconn.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/rconn.c b/lib/rconn.c
index 56a7e19..759c0cb 100644
--- a/lib/rconn.c
+++ b/lib/rconn.c
@@ -433,6 +433,7 @@ static void
 run_ACTIVE(struct rconn *rc)
 {
     if (timed_out(rc)) {
+        struct ofpbuf *b;
         unsigned int base = MAX(rc->last_received, rc->state_entered);
         VLOG_DBG("%s: idle %u seconds, sending inactivity probe",
                  rc->name, (unsigned int) (time_now() - base));
@@ -441,7 +442,10 @@ run_ACTIVE(struct rconn *rc)
          * and we don't want to transition back to IDLE if so, because then we
          * can end up queuing a packet with vconn == NULL and then *boom*. */
         state_transition(rc, S_IDLE);
-        rconn_send(rc, make_echo_request(), NULL);
+        b = make_echo_request();
+        if (rconn_send(rc, b, NULL)) {
+            ofpbuf_delete(b);
+        }
         return;
     }
 
-- 
1.7.10

_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to