From: phk Date: Thu, 20 Jul 2006 13:39:47 +0000 (+0000) Subject: Be more paranoid about srcaddr X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8ee645c1108abb64c0d295cd651ac850a17415ee;p=varnish Be more paranoid about srcaddr git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@525 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- 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)); }