aboutsummaryrefslogtreecommitdiffstats
path: root/util/secmem.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/secmem.c')
-rw-r--r--util/secmem.c10
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;