summaryrefslogtreecommitdiffstats
path: root/crypto/mem.c
diff options
context:
space:
mode:
authorRussell Coker <russell@coker.com.au>2009-06-25 15:59:32 +1000
committerKurt Roeckx <kurt@roeckx.be>2014-11-10 18:34:11 +0100
commitf8ae603238ca4daf1ae40ac965e044e4be53102b (patch)
treee9ac6a11111c751478f88714e70174323c18e32d /crypto/mem.c
parentbfc973f46c54b403a3049986d352223929ba812b (diff)
Fix datarace reported by valgrind/helgrind
This doesn't really fix the datarace but changes it so it can only happens once. This isn't really a problem since we always just set it to the same value. We now just stop writing it after the first time. PR3584, https://bugs.debian.org/534534 Signed-off-by: Kurt Roeckx <kurt@roeckx.be> Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'crypto/mem.c')
-rw-r--r--crypto/mem.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/crypto/mem.c b/crypto/mem.c
index f7984fa958..159e143c09 100644
--- a/crypto/mem.c
+++ b/crypto/mem.c
@@ -254,10 +254,12 @@ void *CRYPTO_malloc_locked(int num, const char *file, int line)
if (num <= 0) return NULL;
- allow_customize = 0;
+ if(allow_customize)
+ allow_customize = 0;
if (malloc_debug_func != NULL)
{
- allow_customize_debug = 0;
+ if(allow_customize_debug)
+ allow_customize_debug = 0;
malloc_debug_func(NULL, num, file, line, 0);
}
ret = malloc_locked_ex_func(num,file,line);
@@ -298,10 +300,12 @@ void *CRYPTO_malloc(int num, const char *file, int line)
if (num <= 0) return NULL;
- allow_customize = 0;
+ if(allow_customize)
+ allow_customize = 0;
if (malloc_debug_func != NULL)
{
- allow_customize_debug = 0;
+ if(allow_customize_debug)
+ allow_customize_debug = 0;
malloc_debug_func(NULL, num, file, line, 0);
}
ret = malloc_ex_func(num,file,line);