From 3730156165fd1aa7c8810cd8e390aba6a8badcfa Mon Sep 17 00:00:00 2001 From: Guus Sliepen Date: Mon, 12 Mar 2007 17:55:43 +0000 Subject: [PATCH] Only free members of connection_t that have been allocated. --- src/connection.c | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/connection.c b/src/connection.c index 1f2f96cc..b6ce517e 100644 --- a/src/connection.c +++ b/src/connection.c @@ -79,15 +79,25 @@ void free_connection(connection_t *c) { cp(); - if(c) { - free(c->hostname); - free(c->inkey); - free(c->outkey); - free(c->mychallenge); - free(c->hischallenge); - event_del(&c->ev); - } + if(!c) + return; + if(c->hostname) + free(c->hostname); + + if(c->inkey) + free(c->inkey); + + if(c->outkey) + free(c->outkey); + + if(c->mychallenge) + free(c->mychallenge); + + if(c->hischallenge) + free(c->hischallenge); + + event_del(&c->ev); free(c); }