diff options
Diffstat (limited to 'gnu/packages/patches/libxml2-bug-747437.patch')
-rw-r--r-- | gnu/packages/patches/libxml2-bug-747437.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/gnu/packages/patches/libxml2-bug-747437.patch b/gnu/packages/patches/libxml2-bug-747437.patch new file mode 100644 index 0000000000..ea2ef0ff53 --- /dev/null +++ b/gnu/packages/patches/libxml2-bug-747437.patch @@ -0,0 +1,46 @@ +From 8985cde70901c62d3f0f04da225e73b7344a52d7 Mon Sep 17 00:00:00 2001 +From: Martin von Gagern <Martin.vGagern@gmx.net> +Date: Mon, 13 Apr 2015 16:32:14 +0800 +Subject: [PATCH] xmlMemUsed is not thread-safe + +For https://bugzilla.gnome.org/show_bug.cgi?id=747437 +just use the mutex to protect access to those variables +--- + xmlmemory.c | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/xmlmemory.c b/xmlmemory.c +index a3dc737..f24fd6d 100644 +--- a/xmlmemory.c ++++ b/xmlmemory.c +@@ -554,7 +554,12 @@ xmlMemoryStrdup(const char *str) { + + int + xmlMemUsed(void) { +- return(debugMemSize); ++ int res; ++ ++ xmlMutexLock(xmlMemMutex); ++ res = debugMemSize; ++ xmlMutexUnlock(xmlMemMutex); ++ return(res); + } + + /** +@@ -567,7 +572,12 @@ xmlMemUsed(void) { + + int + xmlMemBlocks(void) { +- return(debugMemBlocks); ++ int res; ++ ++ xmlMutexLock(xmlMemMutex); ++ res = debugMemBlocks; ++ xmlMutexUnlock(xmlMemMutex); ++ return(res); + } + + #ifdef MEM_LIST +-- +2.6.3 + |