diff options
Diffstat (limited to 'util/secmem.c')
-rw-r--r-- | util/secmem.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/util/secmem.c b/util/secmem.c index b1d86ebf1..4721bcd91 100644 --- a/util/secmem.c +++ b/util/secmem.c @@ -153,8 +153,16 @@ secmem_get_flags(void) void secmem_init( size_t n ) { - if( !n ) + if( !n ) { + uid_t uid; + disable_secmem=1; + uid = getuid(); + if( uid != geteuid() ) { + if( setuid( uid ) ) + log_fatal("failed to drop setuid\n" ); + } + } else { if( n < DEFAULT_POOLSIZE ) n = DEFAULT_POOLSIZE; |