Index: dev-libs/libxml2/files/libxml2-2.7.8-xpath-memory.patch |
diff --git a/dev-libs/libxml2/files/libxml2-2.7.8-xpath-memory.patch b/dev-libs/libxml2/files/libxml2-2.7.8-xpath-memory.patch |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f94350d277f5d44cece743b059157b905defc131 |
--- /dev/null |
+++ b/dev-libs/libxml2/files/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 |