diff options
author | Russell Coker <russell@coker.com.au> | 2009-06-25 15:59:32 +1000 |
---|---|---|
committer | Kurt Roeckx <kurt@roeckx.be> | 2014-11-10 18:35:50 +0100 |
commit | 39679d858ad6ebb325b47deb9b70a62172eaf74f (patch) | |
tree | 974ff1838e9a2a3666d51a0cd4e44393381ce33b /crypto/mem.c | |
parent | 0ec6898c67aeddc3c414f3cc1af2275d81329c20 (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.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/crypto/mem.c b/crypto/mem.c index 1cc62eafd1..01052cfa38 100644 --- a/crypto/mem.c +++ b/crypto/mem.c @@ -255,10 +255,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); @@ -299,10 +301,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); |