diff options
author | cevans@chromium.org <cevans@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-06 19:03:44 +0000 |
---|---|---|
committer | cevans@chromium.org <cevans@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-06 19:03:44 +0000 |
commit | 9939d35f9827ed0929646607cbdb071af627ac38 (patch) | |
tree | 7e96621f9a38a41f8daa894ef0990a3618dc602d /third_party | |
parent | 07bc871c25e2d17b94231888b895641efab4ae2a (diff) | |
download | chromium_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.chromium | 2 | ||||
-rw-r--r-- | third_party/libxslt/libxslt/pattern.c | 2 |
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; |