issue with XSLT [0.8.x]
Kuramoto Eiji
ek at kuramoto.org
Fri Jul 17 06:14:57 MSD 2009
I think it may be a bug.
well-formed status (ctx->ctxt->wellFormed) should check and save
before free xmlParserCtxtPtr. like this,
--- ngx_http_xslt_filter_module.c 29 May 2009 03:29:15 -0000 1.8
+++ ngx_http_xslt_filter_module.c 2 Jun 2009 08:15:28 -0000 1.9
@@ -273,6 +273,7 @@
{
ngx_chain_t *cl;
ngx_http_xslt_filter_ctx_t *ctx;
+ int wellFormed;
ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
"xslt filter body");
@@ -312,9 +313,14 @@
ctx->doc->extSubset = NULL;
#endif
+ /*
+ * save well-formed status, so free ctx->ctxt in xmlFreeParserCtxt().
+ */
+ wellFormed = ctx->ctxt->wellFormed;
+
xmlFreeParserCtxt(ctx->ctxt);
- if (ctx->ctxt->wellFormed) {
+ if (wellFormed) {
return ngx_http_xslt_send(r, ctx,
ngx_http_xslt_apply_stylesheet(r, ctx));
}
On Thu, 16 Jul 2009 16:19:05 -0400
valve wrote:
} I'm having a weird issue with the XSLT module in nginx: after some random time, requesting an XSLT-transformed URL generates 500-errors. The errorlog tells me that the XML-document is not well formed, which it is.
}
} It seems to be similar to an issue raised on the Russian maillinglist (http://www.lexa.ru/nginx-ru/msg25325.html ), although I'm not using FastCGI but just use static XML files as input for the XSLT-engine.
- Kuramoto Eiji
More information about the nginx
mailing list