-
- Downloads
Fix EXSLT functions returning RVTs from outer scopes
The RVTs referenced from function results must not be blindly registered as local, as they might be part of variables from an outer scope. Remove LOCAL/VARIABLE distinction for RVTs. Don't register as local RVT unconditionally when reflagging as LOCAL. Instead, register function result RVTs from inner variables as local RVTs when they're released in xsltFreeStackElem. Keep local function result RVTs xsltReleaseLocalRVTs instead of reregistering. Closes: https://gitlab.gnome.org/GNOME/libxslt/issues/2 Thanks to Daniel Mendler and Martin Gieseking for the reports.
Showing
- libexslt/functions.c 10 additions, 1 deletionlibexslt/functions.c
- libxslt/transform.c 14 additions, 3 deletionslibxslt/transform.c
- libxslt/variables.c 11 additions, 16 deletionslibxslt/variables.c
- libxslt/variables.h 2 additions, 10 deletionslibxslt/variables.h
- tests/docs/bug-210.xml 1 addition, 0 deletionstests/docs/bug-210.xml
- tests/docs/bug-211.xml 1 addition, 0 deletionstests/docs/bug-211.xml
- tests/general/bug-210.out 2 additions, 0 deletionstests/general/bug-210.out
- tests/general/bug-210.xsl 20 additions, 0 deletionstests/general/bug-210.xsl
- tests/general/bug-211.out 2 additions, 0 deletionstests/general/bug-211.out
- tests/general/bug-211.xsl 26 additions, 0 deletionstests/general/bug-211.xsl
Loading
Please register or sign in to comment