From fbcc0996a825f961bf7669fa54b58027b0e663ec Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 31 Aug 2000 07:34:24 +0000 Subject: Update. 2000-08-31 Ulrich Drepper * malloc/malloc.c (ptmalloc_init): Optimize a bit by not calling __secure_getenv. Instead test __libc_enable_secure once. * io/pwd.c (main): Provide a good example, use *_unlocked function. --- malloc/malloc.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'malloc') diff --git a/malloc/malloc.c b/malloc/malloc.c index 6db6629..46a4db2 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -314,10 +314,6 @@ extern char* getenv(); # endif #endif -#ifndef _LIBC -# define __secure_getenv(Str) getenv (Str) -#endif - /* Macros for handling mutexes and thread-specific data. This is included early, because some thread-related header files (such as pthread.h) should be included before any others. */ @@ -1680,6 +1676,7 @@ ptmalloc_init __MALLOC_P((void)) char* s; # endif #endif + int secure; if(__malloc_initialized >= 0) return; __malloc_initialized = 0; @@ -1708,20 +1705,24 @@ ptmalloc_init __MALLOC_P((void)) tsd_setspecific(arena_key, (Void_t *)&main_arena); thread_atfork(ptmalloc_lock_all, ptmalloc_unlock_all, ptmalloc_init_all); #if defined _LIBC || defined MALLOC_HOOKS - if((s = __secure_getenv("MALLOC_TRIM_THRESHOLD_"))) - mALLOPt(M_TRIM_THRESHOLD, atoi(s)); - if((s = __secure_getenv("MALLOC_TOP_PAD_"))) - mALLOPt(M_TOP_PAD, atoi(s)); - if((s = __secure_getenv("MALLOC_MMAP_THRESHOLD_"))) - mALLOPt(M_MMAP_THRESHOLD, atoi(s)); - if((s = __secure_getenv("MALLOC_MMAP_MAX_"))) - mALLOPt(M_MMAP_MAX, atoi(s)); - s = getenv("MALLOC_CHECK_"); #ifndef NO_THREADS __malloc_hook = save_malloc_hook; __free_hook = save_free_hook; #endif - if(s && (! __libc_enable_secure || access ("/etc/suid-debug", F_OK) == 0)) { + secure = __libc_enable_secure; + if (! secure) + { + if((s = getenv("MALLOC_TRIM_THRESHOLD_"))) + mALLOPt(M_TRIM_THRESHOLD, atoi(s)); + if((s = getenv("MALLOC_TOP_PAD_"))) + mALLOPt(M_TOP_PAD, atoi(s)); + if((s = getenv("MALLOC_MMAP_THRESHOLD_"))) + mALLOPt(M_MMAP_THRESHOLD, atoi(s)); + if((s = getenv("MALLOC_MMAP_MAX_"))) + mALLOPt(M_MMAP_MAX, atoi(s)); + } + s = getenv("MALLOC_CHECK_"); + if(s && (! secure || access ("/etc/suid-debug", F_OK) == 0)) { if(s[0]) mALLOPt(M_CHECK_ACTION, (int)(s[0] - '0')); __malloc_check_init(); } -- cgit v1.1