From 8ee645c1108abb64c0d295cd651ac850a17415ee Mon Sep 17 00:00:00 2001 From: phk Date: Thu, 20 Jul 2006 13:39:47 +0000 Subject: [PATCH] Be more paranoid about srcaddr git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@525 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- varnish-cache/bin/varnishd/cache_session.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/varnish-cache/bin/varnishd/cache_session.c b/varnish-cache/bin/varnishd/cache_session.c index c451b457..0010a2b3 100644 --- a/varnish-cache/bin/varnishd/cache_session.c +++ b/varnish-cache/bin/varnishd/cache_session.c @@ -63,6 +63,7 @@ SES_RefSrcAddr(struct sess *sp) struct srcaddrhead *ch; time_t now; + assert(sp->srcaddr == NULL); for (u = 0, p = sp->addr; *p; p++) u += u + *p; v = u % CLIENT_HASH; @@ -105,6 +106,7 @@ SES_RefSrcAddr(struct sess *sp) VSL_stats->n_srcaddr++; } else TAILQ_REMOVE(ch, c3, list); + assert (c3 != NULL); if (c3 != NULL) { memset(c3, 0, sizeof *c3); strcpy(c3->addr, sp->addr); @@ -115,8 +117,8 @@ SES_RefSrcAddr(struct sess *sp) c3->sah = ch; VSL_stats->n_srcaddr_act++; TAILQ_INSERT_TAIL(ch, c3, list); + sp->srcaddr = c3; } - sp->srcaddr = c3; AZ(pthread_mutex_unlock(&ses_mtx)); } -- 2.39.5