[ovs-dev] [PATCH] rconn: Avoid memory leak in rconn_send_with_limit() on queue overflow.

Ethan Jackson ethan at nicira.com
Mon Jan 7 22:33:28 UTC 2013


Acked-by: Ethan Jackson <ethan at nicira.com>


On Fri, Jan 4, 2013 at 1:48 PM, Ben Pfaff <blp at nicira.com> wrote:

> Bug #14357.
> Reported-by: Luca Giraudo <lgiraudo at nicira.com>
> Signed-off-by: Ben Pfaff <blp at 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 at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-dev/attachments/20130107/eb2d2918/attachment-0003.html>


More information about the dev mailing list