Crash bug. Zap a double free.
authorLinus Nordberg <linus@nordu.net>
Tue, 8 Mar 2011 09:51:41 +0000 (10:51 +0100)
committerLinus Nordberg <linus@nordu.net>
Tue, 8 Mar 2011 09:51:41 +0000 (10:51 +0100)
The config object owns peer.secret so don't free it.

lib/radsec.c

index afb871e..b771dc8 100644 (file)
@@ -114,14 +114,14 @@ _rs_peer_destroy (struct rs_peer *p)
   assert (p);
   assert (p->conn);
   assert (p->conn->ctx);
-  /* NOTE: The peer object doesn't own its connection (conn).  */
+  /* NOTE: The peer object doesn't own its connection (conn), nor its
+     realm.  */
+  /* NOTE: secret is owned by config object.  */
   if (p->addr)
     {
       evutil_freeaddrinfo (p->addr);
       p->addr = NULL;
     }
-  if (p->secret)
-    rs_free (p->conn->ctx, p->secret);
   rs_free (p->conn->ctx, p);
 }