[master] 870f16ceb Avoid panic in VRT_CacheReqBody if called from vcl_init{}
Nils Goroll
nils.goroll at uplex.de
Fri Jun 24 15:01:03 UTC 2022
commit 870f16cebdf2aac9e9a5e0c8d50c4e632528ae54
Author: Nils Goroll <nils.goroll at uplex.de>
Date: Fri Jun 24 16:56:10 2022 +0200
Avoid panic in VRT_CacheReqBody if called from vcl_init{}
diff --git a/bin/varnishd/cache/cache_vrt.c b/bin/varnishd/cache/cache_vrt.c
index ef43a3ade..be3d56768 100644
--- a/bin/varnishd/cache/cache_vrt.c
+++ b/bin/varnishd/cache/cache_vrt.c
@@ -971,11 +971,16 @@ VRT_ban_string(VRT_CTX, VCL_STRING str)
VCL_BYTES
VRT_CacheReqBody(VRT_CTX, VCL_BYTES maxsize)
{
+ const char * const err = "req.body can only be cached in vcl_recv{}";
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
if (ctx->method != VCL_MET_RECV) {
- VSLb(ctx->vsl, SLT_VCL_Error,
- "req.body can only be cached in vcl_recv{}");
+ if (ctx->vsl != NULL) {
+ VSLb(ctx->vsl, SLT_VCL_Error, err);
+ } else {
+ AN(ctx->msg);
+ VSB_printf(ctx->msg, "%s\n", err);
+ };
return (-1);
}
CHECK_OBJ_NOTNULL(ctx->req, REQ_MAGIC);
More information about the varnish-commit
mailing list