From: Linus Nordberg Date: Sun, 13 Mar 2011 23:45:18 +0000 (+0100) Subject: Avoid potential double free. X-Git-Tag: libradsec-0.0.1~13 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=libradsec.git;a=commitdiff_plain;h=2e315fe5273c899bad4de5f82af9e704edb0bda5 Avoid potential double free. (udp_init): Set conn.rev = NULL in fault case. --- diff --git a/lib/udp.c b/lib/udp.c index 911616d..c04821d 100644 --- a/lib/udp.c +++ b/lib/udp.c @@ -155,7 +155,10 @@ udp_init (struct rs_connection *conn, struct rs_packet *pkt) if (!conn->rev || !conn->wev) { if (conn->rev) - event_free (conn->rev); + { + event_free (conn->rev); + conn->rev = NULL; + } /* ENOMEM _or_ EINVAL but EINVAL only if we use EV_SIGNAL, at least for now (libevent-2.0.5). */ return rs_err_conn_push_fl (conn, RSE_NOMEM, __FILE__, __LINE__, NULL);