CC: | srezic [...] iconmobile.com |
Subject: | [PATCH] wrong if (container == NULL) call? |
The LibXSLT__function function contains a double "if (container ==
NULL)" line which looks wrong to me. See the attached patch. Probably
xsltRegister{Tmp,Local}RVT is never called here and may produce memory
leaks (unchecked). Note that the patch does not correct the indentation
to make the diff small.
Regards,
Slaven
Subject: | 0001-wrong-if-container-.-call.patch |
From 967976cac1a373e0c43e344a7a11c85f0006d71f Mon Sep 17 00:00:00 2001
From: Slaven Rezic <slaven@rezic.de>
Date: Mon, 16 Apr 2012 14:36:09 +0200
Subject: [PATCH] * wrong if (container ...) call
---
LibXSLT.xs | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/LibXSLT.xs b/LibXSLT.xs
index 4453f3f..738ddf2 100644
--- a/LibXSLT.xs
+++ b/LibXSLT.xs
@@ -349,7 +349,6 @@ LibXSLT__function (xmlXPathParserContextPtr ctxt, int nargs, SV *perl_function)
tmp_node1 = (xmlNodePtr)x_PmmSvNode(sv_2mortal(av_shift(array_result)));
if (tmp_node1) {
container = xsltCreateRVT(tctxt);
- if (container == NULL) {
if (container == NULL) {
croak("LibXSLT: perl-dispatcher: cannot create container RVT\n");
}
@@ -358,7 +357,6 @@ LibXSLT__function (xmlXPathParserContextPtr ctxt, int nargs, SV *perl_function)
#else
xsltRegisterLocalRVT(tctxt,container);
#endif
- }
tmp_node = xmlDocCopyNode(tmp_node1, container, 1);
/* a wraper element is needed to wrap attributes and
prevent libxml2 from merging adjacent text nodes */
--
1.7.2.5