summaryrefslogtreecommitdiffstats
path: root/main/libxml2/libxml2-2.7.8-xpath-memory.patch
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2012-08-16 09:52:37 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2012-08-16 09:52:37 +0000
commit74a93b6947dda51282111815d38594436fced477 (patch)
tree6b79dee50f952e202b25554ec8f0b47515c5737b /main/libxml2/libxml2-2.7.8-xpath-memory.patch
parent4418ddad5793b4450725e317ad4231a0cb82215e (diff)
main/libxml2: apply various fixes from upstream (CVE-2012-2807)
fixes #1305
Diffstat (limited to 'main/libxml2/libxml2-2.7.8-xpath-memory.patch')
-rw-r--r--main/libxml2/libxml2-2.7.8-xpath-memory.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/main/libxml2/libxml2-2.7.8-xpath-memory.patch b/main/libxml2/libxml2-2.7.8-xpath-memory.patch
new file mode 100644
index 00000000000..f94350d277f
--- /dev/null
+++ b/main/libxml2/libxml2-2.7.8-xpath-memory.patch
@@ -0,0 +1,29 @@
+From 0cbeb50ee03ce582a0c979c70d8fbf030e270c37 Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard@redhat.com>
+Date: Mon, 15 Nov 2010 11:06:29 +0000
+Subject: Fix a potential memory access error
+
+in case of a previus allocation error
+---
+diff --git a/xpath.c b/xpath.c
+index 4d6826d..81e33f6 100644
+--- a/xpath.c
++++ b/xpath.c
+@@ -3575,13 +3575,13 @@ xmlXPathNodeSetAdd(xmlNodeSetPtr cur, xmlNodePtr val) {
+ } else if (cur->nodeNr == cur->nodeMax) {
+ xmlNodePtr *temp;
+
+- cur->nodeMax *= 2;
+- temp = (xmlNodePtr *) xmlRealloc(cur->nodeTab, cur->nodeMax *
++ temp = (xmlNodePtr *) xmlRealloc(cur->nodeTab, cur->nodeMax * 2 *
+ sizeof(xmlNodePtr));
+ if (temp == NULL) {
+ xmlXPathErrMemory(NULL, "growing nodeset\n");
+ return;
+ }
++ cur->nodeMax *= 2;
+ cur->nodeTab = temp;
+ }
+ if (val->type == XML_NAMESPACE_DECL) {
+--
+cgit v0.8.3.1