summaryrefslogtreecommitdiffstats
path: root/third_party
diff options
context:
space:
mode:
authorcevans@chromium.org <cevans@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-04 03:25:19 +0000
committercevans@chromium.org <cevans@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-04 03:25:19 +0000
commitc9911bc93097a5df5518f5b88e1d5ed5ef275a4d (patch)
tree3809d2d78155b6f129834965afc7e52a3b3fef33 /third_party
parente0dc2cb41c47157633051205b2b350445f6384de (diff)
downloadchromium_src-c9911bc93097a5df5518f5b88e1d5ed5ef275a4d.zip
chromium_src-c9911bc93097a5df5518f5b88e1d5ed5ef275a4d.tar.gz
chromium_src-c9911bc93097a5df5518f5b88e1d5ed5ef275a4d.tar.bz2
Fix libxml XPath bug.
BUG=89402 Review URL: http://codereview.chromium.org/7508039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95382 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party')
-rw-r--r--third_party/libxml/README.chromium3
-rw-r--r--third_party/libxml/src/xpath.c5
2 files changed, 6 insertions, 2 deletions
diff --git a/third_party/libxml/README.chromium b/third_party/libxml/README.chromium
index a86589b..139a30b 100644
--- a/third_party/libxml/README.chromium
+++ b/third_party/libxml/README.chromium
@@ -2,6 +2,7 @@ Name: libxml
URL: http://xmlsoft.org
Version: 2.7.7
License File: src/COPYING
+Security Critical: yes
Description:
The src/ directory contains a partial snapshot of the libxml library
@@ -14,6 +15,8 @@ Modifications:
- Import XPath fix http://git.gnome.org/browse/libxml2/commit/?id=91d19754d46acd4a639a8b9e31f50f31c78f8c9c
- Import follow-on for above commit: http://git.gnome.org/browse/libxml2/commit/?id=ea90b894146030c214a7df6d8375310174f134b9
- Import additional XPath fix http://git.gnome.org/browse/libxml2/commit/?id=df83c17e5a2646bd923f75e5e507bc80d73c9722
+- Import follow-on fix for above commit: http://git.gnome.org/browse/libxml2/commit/?id=fec31bcd452e77c10579467ca87a785b41115de6
+- And a follow-on fix to the previous two fixes, commit upstream is pending.
To import a new snapshot of libxml:
diff --git a/third_party/libxml/src/xpath.c b/third_party/libxml/src/xpath.c
index b0a9c60..c7d69b5 100644
--- a/third_party/libxml/src/xpath.c
+++ b/third_party/libxml/src/xpath.c
@@ -11754,13 +11754,14 @@ xmlXPathCompOpEvalPositionalPredicate(xmlXPathParserContextPtr ctxt,
xmlXPathObjectPtr tmp;
/* pop the result if any */
tmp = valuePop(ctxt);
- if (tmp != contextObj)
+ while (tmp != contextObj) {
/*
* Free up the result
* then pop off contextObj, which will be freed later
*/
xmlXPathReleaseObject(xpctxt, tmp);
- valuePop(ctxt);
+ tmp = valuePop(ctxt);
+ }
goto evaluation_error;
}