Bug #14357. Reported-by: Luca Giraudo <lgira...@nicira.com> Signed-off-by: Ben Pfaff <b...@nicira.com> --- This leak has been around forever. I expect to backport it all the way to 1.4.
lib/rconn.c | 11 +++++------ 1 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/rconn.c b/lib/rconn.c index 1ea022b..2049a90 100644 --- a/lib/rconn.c +++ b/lib/rconn.c @@ -649,14 +649,13 @@ int rconn_send_with_limit(struct rconn *rc, struct ofpbuf *b, struct rconn_packet_counter *counter, int queue_limit) { - int retval; - retval = (counter->n_packets >= queue_limit - ? EAGAIN - : rconn_send(rc, b, counter)); - if (retval) { + if (counter->n_packets < queue_limit) { + return rconn_send(rc, b, counter); + } else { COVERAGE_INC(rconn_overflow); + ofpbuf_delete(b); + return EAGAIN; } - return retval; } /* Returns the total number of packets successfully sent on the underlying -- 1.7.2.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev