| Index: third_party/libxml/pattern.c
|
| diff --git a/third_party/libxml/pattern.c b/third_party/libxml/pattern.c
|
| index ee5196846c8dcbbee131df01d2fdc5ca664aad61..0e38c2dd21fe63e2159ca86fbbb4ed498ed9e753 100644
|
| --- a/third_party/libxml/pattern.c
|
| +++ b/third_party/libxml/pattern.c
|
| @@ -2285,9 +2285,13 @@ xmlStreamPop(xmlStreamCtxtPtr stream) {
|
| if (stream->blockLevel == stream->level)
|
| stream->blockLevel = -1;
|
|
|
| - stream->level--;
|
| - if (stream->level < 0)
|
| - return(-1);
|
| + /*
|
| + * stream->level can be zero when XML_FINAL_IS_ANY_NODE is set
|
| + * (see the thread at
|
| + * http://mail.gnome.org/archives/xslt/2008-July/msg00027.html)
|
| + */
|
| + if (stream->level)
|
| + stream->level--;
|
| /*
|
| * Check evolution of existing states
|
| */
|
|
|