Version in base suite: 1.1.35-1+deb12u2 Base version: libxslt_1.1.35-1+deb12u2 Target version: libxslt_1.1.35-1+deb12u3 Base file: /srv/ftp-master.debian.org/ftp/pool/main/libx/libxslt/libxslt_1.1.35-1+deb12u2.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/libx/libxslt/libxslt_1.1.35-1+deb12u3.dsc changelog | 8 +++ patches/0019-variables-Fix-non-deterministic-generated-IDs.patch | 24 +++++++--- 2 files changed, 26 insertions(+), 6 deletions(-) diff -Nru libxslt-1.1.35/debian/changelog libxslt-1.1.35/debian/changelog --- libxslt-1.1.35/debian/changelog 2025-08-17 17:31:08.000000000 +0000 +++ libxslt-1.1.35/debian/changelog 2025-09-22 07:45:22.000000000 +0000 @@ -1,3 +1,11 @@ +libxslt (1.1.35-1+deb12u3) bookworm-security; urgency=high + + * Non-maintainer upload. + * Fix regression in the backport of upstream change for issue #123 + "generate-id() is non-deterministic". + + -- Guilhem Moulin Mon, 22 Sep 2025 09:45:22 +0200 + libxslt (1.1.35-1+deb12u2) bookworm-security; urgency=high * Fix information disclosure with improved memory handling of generated-id() diff -Nru libxslt-1.1.35/debian/patches/0019-variables-Fix-non-deterministic-generated-IDs.patch libxslt-1.1.35/debian/patches/0019-variables-Fix-non-deterministic-generated-IDs.patch --- libxslt-1.1.35/debian/patches/0019-variables-Fix-non-deterministic-generated-IDs.patch 2025-08-17 17:30:36.000000000 +0000 +++ libxslt-1.1.35/debian/patches/0019-variables-Fix-non-deterministic-generated-IDs.patch 2025-09-22 07:45:22.000000000 +0000 @@ -7,14 +7,17 @@ IDs could be non-deterministic if generate-id() is called. Fixes #123. + +Origin: https://gitlab.gnome.org/GNOME/libxslt/-/commit/c45ed81aeb50a7fb6799a166270d6ccc9ffa63b2 +Bug: https://gitlab.gnome.org/GNOME/libxslt/-/issues/123 --- libxslt/variables.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) -Index: libxslt-1.1.35/libxslt/variables.c -=================================================================== ---- libxslt-1.1.35.orig/libxslt/variables.c -+++ libxslt-1.1.35/libxslt/variables.c +diff --git a/libxslt/variables.c b/libxslt/variables.c +index ec3929c..d92ae71 100644 +--- a/libxslt/variables.c ++++ b/libxslt/variables.c @@ -1258,13 +1258,6 @@ error: return(result); } @@ -29,7 +32,7 @@ /** * xsltEvalGlobalVariables: * @ctxt: the XSLT transformation context -@@ -1277,6 +1270,7 @@ xsltEvalGlobalVariableWrapper(void *payl +@@ -1277,6 +1270,7 @@ xsltEvalGlobalVariableWrapper(void *payload, void *data, int xsltEvalGlobalVariables(xsltTransformContextPtr ctxt) { xsltStackElemPtr elem; @@ -37,7 +40,16 @@ xsltStylesheetPtr style; if ((ctxt == NULL) || (ctxt->document == NULL)) -@@ -1337,9 +1331,19 @@ xsltEvalGlobalVariables(xsltTransformCon +@@ -1320,6 +1314,8 @@ xsltEvalGlobalVariables(xsltTransformContextPtr ctxt) { + xsltFreeStackElem(def); + return(-1); + } ++ def->next = head; ++ head = def; + } else if ((elem->comp != NULL) && + (elem->comp->type == XSLT_FUNC_VARIABLE)) { + /* +@@ -1342,9 +1338,19 @@ xsltEvalGlobalVariables(xsltTransformContextPtr ctxt) { } /*