[4.1] d8ac05a Handle missing waiting list gracefully.

Lasse Karstensen lkarsten at varnish-software.com
Mon Jan 18 14:59:47 CET 2016


commit d8ac05a3c4b7b5838eee2d94150e6853cfc64d43
Author: Lasse Karstensen <lkarsten at varnish-software.com>
Date:   Mon Jan 18 14:57:37 2016 +0100

    Handle missing waiting list gracefully.
    
    In 5c8268062bf06a2700dd27331c29c48d650c9197 the checks are relaxed,
    but this commit (or part of) was not brought into 4.1.
    
    Fixes: #1842

diff --git a/bin/varnishd/cache/cache_hash.c b/bin/varnishd/cache/cache_hash.c
index 18b9628..4355cc6 100644
--- a/bin/varnishd/cache/cache_hash.c
+++ b/bin/varnishd/cache/cache_hash.c
@@ -523,7 +523,9 @@ hsh_rush(struct worker *wrk, struct objhead *oh)
 	CHECK_OBJ_NOTNULL(oh, OBJHEAD_MAGIC);
 	Lck_AssertHeld(&oh->mtx);
 	wl = oh->waitinglist;
-	CHECK_OBJ_NOTNULL(wl, WAITINGLIST_MAGIC);
+	CHECK_OBJ_ORNULL(wl, WAITINGLIST_MAGIC);
+	if (wl == NULL)
+		return;
 	for (u = 0; u < cache_param->rush_exponent; u++) {
 		req = VTAILQ_FIRST(&wl->list);
 		if (req == NULL)



More information about the varnish-commit mailing list