r525 - trunk/varnish-cache/bin/varnishd

phk at projects.linpro.no phk at projects.linpro.no
Thu Jul 20 15:39:47 CEST 2006


Author: phk
Date: 2006-07-20 15:39:47 +0200 (Thu, 20 Jul 2006)
New Revision: 525

Modified:
   trunk/varnish-cache/bin/varnishd/cache_session.c
Log:
Be more paranoid about srcaddr


Modified: trunk/varnish-cache/bin/varnishd/cache_session.c
===================================================================
--- trunk/varnish-cache/bin/varnishd/cache_session.c	2006-07-20 13:33:22 UTC (rev 524)
+++ trunk/varnish-cache/bin/varnishd/cache_session.c	2006-07-20 13:39:47 UTC (rev 525)
@@ -63,6 +63,7 @@
 	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 @@
 			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 @@
 		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));
 }
 




More information about the varnish-commit mailing list