summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2017-09-07 17:52:59 +0200
committerEven Rouault <even.rouault@spatialys.com>2017-09-07 17:52:59 +0200
commit51a1dcaa6ed5713520dca36fc58cd9240c08b7ca (patch)
tree358e249fb9f18323e205b5127ed70201feb4a704 /src
parentcc893a4ebfaf8c42cf1221ac82c83df91e77340b (diff)
Avoid malloc poisoning issue when including <pthread.h> of uclibc (#1013)
Diffstat (limited to 'src')
-rw-r--r--src/lib/openjp2/thread.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/lib/openjp2/thread.c b/src/lib/openjp2/thread.c
index 8b56aa4d..af33c2c8 100644
--- a/src/lib/openjp2/thread.c
+++ b/src/lib/openjp2/thread.c
@@ -29,9 +29,6 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-#include "opj_includes.h"
-
-#include "thread.h"
#include <assert.h>
#ifdef MUTEX_win32
@@ -46,6 +43,8 @@
#include <windows.h>
#include <process.h>
+#include "opj_includes.h"
+
OPJ_BOOL OPJ_CALLCONV opj_has_thread_support(void)
{
return OPJ_TRUE;
@@ -289,6 +288,10 @@ void opj_thread_join(opj_thread_t* thread)
#include <stdlib.h>
#include <unistd.h>
+/* Moved after all system includes, and in particular pthread.h, so as to */
+/* avoid poisoning issuing with malloc() use in pthread.h with ulibc (#1013) */
+#include "opj_includes.h"
+
OPJ_BOOL OPJ_CALLCONV opj_has_thread_support(void)
{
return OPJ_TRUE;
@@ -425,6 +428,8 @@ void opj_thread_join(opj_thread_t* thread)
#else
/* Stub implementation */
+#include "opj_includes.h"
+
OPJ_BOOL OPJ_CALLCONV opj_has_thread_support(void)
{
return OPJ_FALSE;