[master] a90a35f Set OA_LEN or req.body oc and dont iterate it if zero.
Poul-Henning Kamp
phk at FreeBSD.org
Sat Mar 12 01:29:04 CET 2016
commit a90a35f598e666a4ee69cfbe1aa01d36d3eeddec
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Fri Mar 11 23:16:16 2016 +0000
Set OA_LEN or req.body oc and dont iterate it if zero.
diff --git a/bin/varnishd/cache/cache_req_body.c b/bin/varnishd/cache/cache_req_body.c
index e8f7bf9..1986ffd 100644
--- a/bin/varnishd/cache/cache_req_body.c
+++ b/bin/varnishd/cache/cache_req_body.c
@@ -118,6 +118,7 @@ vrb_pull(struct req *req, ssize_t maxsize, objiterate_f *func, void *priv)
}
ObjTrimStore(req->wrk, req->body_oc);
+ AZ(ObjSetU64(req->wrk, req->body_oc, OA_LEN, req->req_bodybytes));
HSH_DerefBoc(req->wrk, req->body_oc);
if (vfps != VFP_END) {
@@ -163,8 +164,8 @@ VRB_Iterate(struct req *req, objiterate_f *func, void *priv)
switch(req->req_body_status) {
case REQ_BODY_CACHED:
-
- if (ObjIterate(req->wrk, req->body_oc, priv, func))
+ if (req->req_bodybytes > 0 &&
+ ObjIterate(req->wrk, req->body_oc, priv, func))
return (-1);
return (0);
case REQ_BODY_NONE:
More information about the varnish-commit
mailing list