diff options
Diffstat (limited to '')
-rw-r--r-- | util/ChangeLog | 4 | ||||
-rw-r--r-- | util/secmem.c | 10 |
2 files changed, 13 insertions, 1 deletions
diff --git a/util/ChangeLog b/util/ChangeLog index 661914645..6b4a76fd8 100644 --- a/util/ChangeLog +++ b/util/ChangeLog @@ -1,3 +1,7 @@ +Thu Jul 9 14:47:20 1998 Werner Koch ([email protected]) + + * secmem.c (secmem_init): Drops setuid if called with 0. + Tue Jul 7 11:49:25 1998 Werner Koch ([email protected]) * logger.c (log_set_filename): New. 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; |