From ded9f1a896f55b801bf95e7764f122ec4e51edcf Mon Sep 17 00:00:00 2001 From: venaas Date: Mon, 14 Apr 2008 10:56:08 +0000 Subject: moved null client check to after status server git-svn-id: https://svn.testnett.uninett.no/radsecproxy/trunk@227 e88ac4ed-0b26-0410-9574-a7f39faa03bf --- radsecproxy.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'radsecproxy.c') diff --git a/radsecproxy.c b/radsecproxy.c index 8b7906c..9bf050b 100644 --- a/radsecproxy.c +++ b/radsecproxy.c @@ -1852,8 +1852,7 @@ int replyh(struct server *server, unsigned char *buf) { } rq = server->requests + i; - from = rq->from; - + pthread_mutex_lock(&server->newrq_mutex); if (!rq->buf || !rq->tries) { pthread_mutex_unlock(&server->newrq_mutex); @@ -1861,12 +1860,6 @@ int replyh(struct server *server, unsigned char *buf) { return 0; } - if (!from) { - pthread_mutex_unlock(&server->newrq_mutex); - debug(DBG_INFO, "replyh: client gone, ignoring reply"); - return 0; - } - if (rq->received) { pthread_mutex_unlock(&server->newrq_mutex); debug(DBG_INFO, "replyh: already received, ignoring reply"); @@ -1914,6 +1907,13 @@ int replyh(struct server *server, unsigned char *buf) { return 0; } + from = rq->from; + if (!from) { + pthread_mutex_unlock(&server->newrq_mutex); + debug(DBG_INFO, "replyh: client gone, ignoring reply"); + return 0; + } + if (server->conf->rewrite) { dorewrite(buf, server->conf->rewrite); len = RADLEN(buf) - 20; -- cgit v1.2.3