diff options
Diffstat (limited to 'util')
-rw-r--r-- | util/ChangeLog | 5 | ||||
-rw-r--r-- | util/secmem.c | 12 |
2 files changed, 12 insertions, 5 deletions
diff --git a/util/ChangeLog b/util/ChangeLog index 70a95c758..a67547395 100644 --- a/util/ChangeLog +++ b/util/ChangeLog @@ -1,3 +1,8 @@ +2007-04-16 Werner Koch <[email protected]> + + * secmem.c (init_pool): Avoid assigning a negative value to a + size_t. + 2007-04-16 David Shaw <[email protected]> * secmem.c (init_pool): Use sysconf() if available to determine diff --git a/util/secmem.c b/util/secmem.c index dc8a8f087..5a4affd42 100644 --- a/util/secmem.c +++ b/util/secmem.c @@ -219,7 +219,8 @@ lock_pool( void *p, size_t n ) static void init_pool( size_t n) { - size_t pgsize=-1; + long int pgsize_val; + size_t pgsize; poolsize = n; @@ -227,13 +228,14 @@ init_pool( size_t n) log_bug("secure memory is disabled"); #if defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE) - pgsize = sysconf(_SC_PAGESIZE); + pgsize_val = sysconf (_SC_PAGESIZE); #elif defined(HAVE_GETPAGESIZE) - pgsize = getpagesize(); + pgsize_val = getpagesize (); +#else + pgsize_val = -1; #endif + pgsize = (pgsize_val != -1 && pgsize_val > 0)? pgsize_val : 4096; - if(pgsize==-1) - pgsize = 4096; #ifdef HAVE_MMAP poolsize = (poolsize + pgsize -1 ) & ~(pgsize-1); |