diff --git a/src/http/modules/ngx_http_ssi_filter_module.c b/src/http/modules/ngx_http_ssi_filter_module.c index 945a4e5e5..d61b125a2 100644 --- a/src/http/modules/ngx_http_ssi_filter_module.c +++ b/src/http/modules/ngx_http_ssi_filter_module.c @@ -1843,7 +1843,7 @@ ngx_http_ssi_include(ngx_http_request_t *r, ngx_http_ssi_ctx_t *ctx, ngx_str_t *uri, *file, *wait, *set, *stub, args; ngx_buf_t *b; ngx_uint_t flags, i; - ngx_chain_t *cl, *tl, **ll; + ngx_chain_t *cl, *tl, **ll, *out; ngx_http_request_t *sr; ngx_http_ssi_var_t *var; ngx_http_ssi_ctx_t *mctx; @@ -1947,7 +1947,7 @@ ngx_http_ssi_include(ngx_http_request_t *r, ngx_http_ssi_ctx_t *ctx, if (bl[i].count++) { - ll = (ngx_chain_t **) &psr->data; + ll = &out; for (tl = bl[i].bufs; tl; tl = tl->next) { @@ -1979,6 +1979,8 @@ ngx_http_ssi_include(ngx_http_request_t *r, ngx_http_ssi_ctx_t *ctx, ll = &cl->next; } + psr->data = out; + } else { psr->data = bl[i].bufs; }