[6.0] a1cedd380 Guard against OA_GZIPBITS streaming race
Reza Naghibi
reza at naghibi.com
Tue Apr 20 18:14:05 UTC 2021
commit a1cedd380481f13c3468abcb2d35630372ffc6a8
Author: Reza Naghibi <reza at naghibi.com>
Date: Wed Feb 13 10:45:40 2019 -0500
Guard against OA_GZIPBITS streaming race
diff --git a/bin/varnishd/cache/cache_gzip.c b/bin/varnishd/cache/cache_gzip.c
index b325e79c5..732c8db62 100644
--- a/bin/varnishd/cache/cache_gzip.c
+++ b/bin/varnishd/cache/cache_gzip.c
@@ -292,6 +292,10 @@ vdp_gunzip_init(struct req *req, void **priv)
ssize_t dl;
uint64_t u;
+ CHECK_OBJ_NOTNULL(req, REQ_MAGIC);
+ CHECK_OBJ_NOTNULL(req->objcore, OBJCORE_MAGIC);
+ CHECK_OBJ_ORNULL(req->objcore->boc, BOC_MAGIC);
+
vg = VGZ_NewGunzip(req->vsl, "U D -");
AN(vg);
if (vgz_getmbuf(vg)) {
@@ -307,6 +311,10 @@ vdp_gunzip_init(struct req *req, void **priv)
req->resp_len = -1;
+ /* OA_GZIPBITS is not stable yet */
+ if (req->objcore->boc)
+ return (0);
+
p = ObjGetAttr(req->wrk, req->objcore, OA_GZIPBITS, &dl);
if (p != NULL && dl == 32) {
u = vbe64dec(p + 24);
More information about the varnish-commit
mailing list