| 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
|
|
|