Candidate Release 1 for libxml2-2.9.6
-----BEGIN PGP SIGNATURE-----

iQEcBAABAgAGBQJZzUdVAAoJEBVYiyZZa+pdqd0H/RiIGhiA6ziN3D8d/sztDhhW
xMYS+s58aUVcN0SubhKH4g6CYbh72DUsEX3VQj0D8d+GtLbaqQbVFru9aAG1cpem
M7EcpyoZ+gyG2wAnl3KhV2yI0XRUF5cWjkdk6h6lzOrAY/SwjZmMlnzOgixyPqGQ
gdfSpZAx5QmbLXBGvvBDAf0QYL33fs31ynogeF2muZEYadgfIZcEipRGJQSw81eJ
jSAI/1eqJWjORdTH9ZdO+3OUGAMVm0qBfce0ikolvyE7uHNy8PbJlXgyjtv8cgdP
himv7NA/mKCS4V/6xmfoxZEsqfZH9/zYTrvIz6oQBQvnwZp22snCbK6hnkMA7eE=
=NRIx
-----END PGP SIGNATURE-----
Fix XPath stack frame logic

Move the calls to xmlXPathSetFrame and xmlXPathPopFrame around in
xmlXPathCompOpEvalPositionalPredicate to make sure that the context
object on the stack is actually protected. Otherwise, memory corruption
can occur when calling sloppily coded XPath extension functions.

Fixes bug 783160.
1 file changed
tree: ea50f73f912835632652cfdbc8b3cfe90c6b4af7
  1. .gitignore
  2. .travis.yml
  3. AUTHORS
  4. ChangeLog
  5. Copyright
  6. DOCBparser.c
  7. HACKING
  8. HTMLparser.c
  9. HTMLtree.c
  10. INSTALL.libxml2
  11. MAINTAINERS
  12. Makefile.am
  13. Makefile.tests
  14. Makefile.win
  15. NEWS
  16. README
  17. README.cvs-commits
  18. README.tests
  19. README.zOS
  20. SAX.c
  21. SAX2.c
  22. TODO
  23. TODO_SCHEMAS
  24. VxWorks/
  25. acinclude.m4
  26. autogen.sh
  27. bakefile/
  28. buf.c
  29. buf.h
  30. build_glob.py
  31. c14n.c
  32. catalog.c
  33. check-relaxng-test-suite.py
  34. check-relaxng-test-suite2.py
  35. check-xinclude-test-suite.py
  36. check-xml-test-suite.py
  37. check-xsddata-test-suite.py
  38. chvalid.c
  39. chvalid.def
  40. configure.ac
  41. dbgen.pl
  42. dbgenattr.pl
  43. debugXML.c
  44. dict.c
  45. doc/
  46. elfgcchack.h
  47. enc.h
  48. encoding.c
  49. entities.c
  50. error.c
  51. example/
  52. genChRanges.py
  53. genUnicode.py
  54. gentest.py
  55. global.data
  56. globals.c
  57. hash.c
  58. include/
  59. legacy.c
  60. libxml-2.0-uninstalled.pc.in
  61. libxml-2.0.pc.in
  62. libxml.3
  63. libxml.h
  64. libxml.m4
  65. libxml.spec.in
  66. libxml2-config.cmake.in
  67. libxml2.doap
  68. libxml2.syms
  69. list.c
  70. macos/
  71. nanoftp.c
  72. nanohttp.c
  73. optim/
  74. os400/
  75. parser.c
  76. parserInternals.c
  77. pattern.c
  78. python/
  79. regressions.py
  80. regressions.xml
  81. relaxng.c
  82. result/
  83. rngparser.c
  84. runsuite.c
  85. runtest.c
  86. runxmlconf.c
  87. save.h
  88. schematron.c
  89. test/
  90. testAutomata.c
  91. testC14N.c
  92. testHTML.c
  93. testModule.c
  94. testOOM.c
  95. testOOMlib.c
  96. testOOMlib.h
  97. testReader.c
  98. testRegexp.c
  99. testRelax.c
  100. testSAX.c
  101. testSchemas.c
  102. testThreads.c
  103. testThreadsWin32.c
  104. testURI.c
  105. testXPath.c
  106. testapi.c
  107. testchar.c
  108. testdict.c
  109. testdso.c
  110. testlimits.c
  111. testrecurse.c
  112. threads.c
  113. timsort.h
  114. tree.c
  115. trio.c
  116. trio.h
  117. triodef.h
  118. trionan.c
  119. trionan.h
  120. triop.h
  121. triostr.c
  122. triostr.h
  123. uri.c
  124. valid.c
  125. vms/
  126. win32/
  127. xinclude.c
  128. xlink.c
  129. xml2-config.1
  130. xml2-config.in
  131. xml2Conf.sh.in
  132. xmlIO.c
  133. xmlcatalog.c
  134. xmllint.c
  135. xmlmemory.c
  136. xmlmodule.c
  137. xmlreader.c
  138. xmlregexp.c
  139. xmlsave.c
  140. xmlschemas.c
  141. xmlschemastypes.c
  142. xmlstring.c
  143. xmlunicode.c
  144. xmlwriter.c
  145. xpath.c
  146. xpointer.c
  147. xstc/
  148. xzlib.c
  149. xzlib.h