<feed xmlns='http://www.w3.org/2005/Atom'>
<title>platform_external_libxml2/result/XPath/tests, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libxml2/'/>
<entry>
<title>Upgrade libxml2 to 1a360c1c2ec950f478d55b31722ecf78f5698e97</title>
<updated>2020-07-31T07:02:25+00:00</updated>
<author>
<name>Haibo Huang</name>
<email>hhb@google.com</email>
</author>
<published>2020-07-31T06:01:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libxml2/commit/?id=cfd91dcb1d8895a6e567a9ff975c3ff6e08202d4'/>
<id>cfd91dcb1d8895a6e567a9ff975c3ff6e08202d4</id>
<content type='text'>
Also change upstream to github.

This change moves away from stable release. Because we need CMakeLists.txt. It is not in any release yet.

They are likely to release another stable version within this year. We can upgrade to that version when it is available.

Bug: 157157503
Change-Id: If6f245dbabe36a114563d209c8e100b7e3083f20
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also change upstream to github.

This change moves away from stable release. Because we need CMakeLists.txt. It is not in any release yet.

They are likely to release another stable version within this year. We can upgrade to that version when it is available.

Bug: 157157503
Change-Id: If6f245dbabe36a114563d209c8e100b7e3083f20
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix comparison of nodesets to strings</title>
<updated>2017-10-07T13:22:57+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2017-10-07T12:54:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libxml2/commit/?id=5af594d8bc55121ae454cba4d05793d1db7ff612'/>
<id>5af594d8bc55121ae454cba4d05793d1db7ff612</id>
<content type='text'>
Fix two bugs in xmlXPathNodeValHash which could lead to errors when
comparing nodesets to strings:

- Only use contents of text nodes to compute the hash for element nodes.
  Comments, PIs, and other node types don't affect the string-value and
  must be ignored.
- Reset `string` to NULL for node types other than text.

Reported by Aleksei on the mailing list:

    https://mail.gnome.org/archives/xml/2017-September/msg00016.html
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix two bugs in xmlXPathNodeValHash which could lead to errors when
comparing nodesets to strings:

- Only use contents of text nodes to compute the hash for element nodes.
  Comments, PIs, and other node types don't affect the string-value and
  must be ignored.
- Reset `string` to NULL for node types other than text.

Reported by Aleksei on the mailing list:

    https://mail.gnome.org/archives/xml/2017-September/msg00016.html
</pre>
</div>
</content>
</entry>
<entry>
<title>Check for overflow in xmlXPathIsPositionalPredicate</title>
<updated>2017-05-31T14:04:26+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2017-05-29T19:02:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libxml2/commit/?id=a58331a6ee4d4c161cebfa4e0d9a090945c6bf23'/>
<id>a58331a6ee4d4c161cebfa4e0d9a090945c6bf23</id>
<content type='text'>
Avoid undefined behavior when casting from double to int.

Found with afl-fuzz and UBSan.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Avoid undefined behavior when casting from double to int.

Found with afl-fuzz and UBSan.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix axis traversal from attribute and namespace nodes</title>
<updated>2017-05-31T12:57:46+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2017-05-26T18:16:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libxml2/commit/?id=40f58521493e6a5429ea92964dec7bc09168224f'/>
<id>40f58521493e6a5429ea92964dec7bc09168224f</id>
<content type='text'>
When traversing the "preceding" axis from an attribute node, we must
first go up to the attribute's containing element. Otherwise, text
children of other attributes could be returned. This made it possible
to hit a code path in xmlXPathNextAncestor which contained another bug:
The attribute node was initialized with the context node instead of the
current node. Normally, this code path is only hit via
xmlXPathNextAncestorOrSelf in which case the current and context node
are the same.

The combination of the two bugs could result in an infinite loop, found
with libFuzzer.

Traversing the "following" and the "preceding" axis from namespace nodes
should be handled similarly. This wasn't supported at all previously.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When traversing the "preceding" axis from an attribute node, we must
first go up to the attribute's containing element. Otherwise, text
children of other attributes could be returned. This made it possible
to hit a code path in xmlXPathNextAncestor which contained another bug:
The attribute node was initialized with the context node instead of the
current node. Normally, this code path is only hit via
xmlXPathNextAncestorOrSelf in which case the current and context node
are the same.

The combination of the two bugs could result in an infinite loop, found
with libFuzzer.

Traversing the "following" and the "preceding" axis from namespace nodes
should be handled similarly. This wasn't supported at all previously.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix memory leak with XPath namespace nodes</title>
<updated>2016-05-05T15:38:27+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2016-05-05T14:49:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libxml2/commit/?id=6eb0894a96d4d8122e5129e02f78a2b449cc2580'/>
<id>6eb0894a96d4d8122e5129e02f78a2b449cc2580</id>
<content type='text'>
Set hasNsNodes to 1 when adding namespace nodes via XP_TEST_HIT.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Set hasNsNodes to 1 when adding namespace nodes via XP_TEST_HIT.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix namespace axis traversal</title>
<updated>2016-05-05T13:30:00+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2016-04-30T15:53:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libxml2/commit/?id=82b73039dc0eed620621cb699b1140c6e0c89cce'/>
<id>82b73039dc0eed620621cb699b1140c6e0c89cce</id>
<content type='text'>
When the namespace axis is traversed in "toBool" mode, the traversal
can exit early, before visiting all nodes. In this case, the XPath
context still contains a non-NULL tmpNsList.

This means that

- the check when to start a new traversal was wrong and
- the tmpNsList could be leaked.

Fixes bug #750037 and, by accident, bug #756075:

https://bugzilla.gnome.org/show_bug.cgi?id=750037
https://bugzilla.gnome.org/show_bug.cgi?id=756075
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the namespace axis is traversed in "toBool" mode, the traversal
can exit early, before visiting all nodes. In this case, the XPath
context still contains a non-NULL tmpNsList.

This means that

- the check when to start a new traversal was wrong and
- the tmpNsList could be leaked.

Fixes bug #750037 and, by accident, bug #756075:

https://bugzilla.gnome.org/show_bug.cgi?id=750037
https://bugzilla.gnome.org/show_bug.cgi?id=756075
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix namespace::node() XPath expression</title>
<updated>2016-04-27T09:21:35+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2016-04-27T01:01:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libxml2/commit/?id=f39fd66ea768802665e0a010f4be408ef9c69bcf'/>
<id>f39fd66ea768802665e0a010f4be408ef9c69bcf</id>
<content type='text'>
Make sure that xmlXPathNodeSetAddNs is called for namespace nodes when
matched with a namespace::node() step. This correctly sets the parent
of namespace nodes. Note that xmlXPathNodeSetAddNs must only be called
if working on the namespace axis. Otherwise, the context node is not
the parent of the namespace node and the standard XP_TEST_HIT macro
must be invoked. This explains the errors in the C14N tests that the
old TODO comment mentioned.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make sure that xmlXPathNodeSetAddNs is called for namespace nodes when
matched with a namespace::node() step. This correctly sets the parent
of namespace nodes. Note that xmlXPathNodeSetAddNs must only be called
if working on the namespace axis. Otherwise, the context node is not
the parent of the namespace node and the standard XP_TEST_HIT macro
must be invoked. This explains the errors in the C14N tests that the
old TODO comment mentioned.
</pre>
</div>
</content>
</entry>
<entry>
<title>Regression test for bug #695699</title>
<updated>2015-03-08T16:00:37+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2015-03-08T16:00:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libxml2/commit/?id=02b252d7a272483077f905eb3a71d489410d1c06'/>
<id>02b252d7a272483077f905eb3a71d489410d1c06</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a couple of XPath tests</title>
<updated>2015-03-08T15:46:04+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2015-03-08T15:46:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libxml2/commit/?id=342658a132dddc6f2d72f83070e55a545a5c1608'/>
<id>342658a132dddc6f2d72f83070e55a545a5c1608</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow attributes on descendant-or-self axis</title>
<updated>2015-03-08T15:25:52+00:00</updated>
<author>
<name>Nick Wellnhofer</name>
<email>wellnhofer@aevum.de</email>
</author>
<published>2015-03-08T15:05:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_external_libxml2/commit/?id=f6aaabce85baf48d622cb4686df810fdba3db073'/>
<id>f6aaabce85baf48d622cb4686df810fdba3db073</id>
<content type='text'>
If the context node is an attribute, the attribute itself is on the
descendant-or-self axis. The principal node type of this axis is element,
so the only node test that can return the attribute is "node()". In other
words, "@attr/descendant-or-self::node()" is equivalent to "@attr".

This matches the behavior of Saxon-CE.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the context node is an attribute, the attribute itself is on the
descendant-or-self axis. The principal node type of this axis is element,
so the only node test that can return the attribute is "node()". In other
words, "@attr/descendant-or-self::node()" is equivalent to "@attr".

This matches the behavior of Saxon-CE.
</pre>
</div>
</content>
</entry>
</feed>
