summaryrefslogtreecommitdiffstats
path: root/third_party
diff options
context:
space:
mode:
authorcevans@chromium.org <cevans@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-06 19:03:44 +0000
committercevans@chromium.org <cevans@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-06 19:03:44 +0000
commit9939d35f9827ed0929646607cbdb071af627ac38 (patch)
tree7e96621f9a38a41f8daa894ef0990a3618dc602d /third_party
parent07bc871c25e2d17b94231888b895641efab4ae2a (diff)
downloadchromium_src-9939d35f9827ed0929646607cbdb071af627ac38.zip
chromium_src-9939d35f9827ed0929646607cbdb071af627ac38.tar.gz
chromium_src-9939d35f9827ed0929646607cbdb071af627ac38.tar.bz2
Handle a bad XSLT expression better.
BUG=138672 Review URL: https://chromiumcodereview.appspot.com/10830177 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150123 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party')
-rw-r--r--third_party/libxslt/README.chromium2
-rw-r--r--third_party/libxslt/libxslt/pattern.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/third_party/libxslt/README.chromium b/third_party/libxslt/README.chromium
index 5d6940e..41df61a 100644
--- a/third_party/libxslt/README.chromium
+++ b/third_party/libxslt/README.chromium
@@ -47,6 +47,8 @@ Current version: 1.1.26, plus the following patches:
5) Converted to utf-8 with: vim +"argdo write ++enc=utf-8" *.c
+6) A change to pattern.c to better handle an error condition parsing a broken
+expression.
To import a new snapshot of libxslt:
diff --git a/third_party/libxslt/libxslt/pattern.c b/third_party/libxslt/libxslt/pattern.c
index da0c535..9e9fbd6 100644
--- a/third_party/libxslt/libxslt/pattern.c
+++ b/third_party/libxslt/libxslt/pattern.c
@@ -1787,6 +1787,8 @@ xsltCompileLocationPathPattern(xsltParserContextPtr ctxt, int novar) {
SKIP_BLANKS;
if ((CUR == '(') && !xmlXPathIsNodeType(name)) {
xsltCompileIdKeyPattern(ctxt, name, 1, novar, 0);
+ if (ctxt->error)
+ return;
if ((CUR == '/') && (NXT(1) == '/')) {
PUSH(XSLT_OP_ANCESTOR, NULL, NULL, novar);
NEXT;