mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-03 12:11:33 +01:00
Use sysconf() when possible as not all platforms have getpagesize().
This commit is contained in:
parent
0b677ba499
commit
3a2e31ff19
@ -1,3 +1,10 @@
|
||||
2007-04-16 David Shaw <dshaw@jabberwocky.com>
|
||||
|
||||
* acinclude.m4: Use sysconf() if available to avoid a false
|
||||
positive on HAVE_BROKEN_MLOCK when checking for page size.
|
||||
|
||||
* configure.ac: Check for sysconf.
|
||||
|
||||
2007-04-15 David Shaw <dshaw@jabberwocky.com>
|
||||
|
||||
* configure.ac: QNX puts resolver functions in libsocket. From
|
||||
|
11
acinclude.m4
11
acinclude.m4
@ -420,7 +420,16 @@ define(GNUPG_CHECK_MLOCK,
|
||||
{
|
||||
char *pool;
|
||||
int err;
|
||||
long int pgsize = getpagesize();
|
||||
long int pgsize;
|
||||
|
||||
#if defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE)
|
||||
pgsize = sysconf(_SC_PAGESIZE);
|
||||
#elif defined(HAVE_GETPAGESIZE)
|
||||
pgsize = getpagesize();
|
||||
#endif
|
||||
|
||||
if(pgsize==-1)
|
||||
pgsize = 4096;
|
||||
|
||||
pool = malloc( 4096 + pgsize );
|
||||
if( !pool )
|
||||
|
@ -953,7 +953,7 @@ AC_CHECK_DECLS(getpagesize)
|
||||
AC_FUNC_FSEEKO
|
||||
AC_FUNC_VPRINTF
|
||||
AC_FUNC_FORK
|
||||
AC_CHECK_FUNCS(strerror stpcpy strlwr tcgetattr strtoul mmap)
|
||||
AC_CHECK_FUNCS(strerror stpcpy strlwr tcgetattr strtoul mmap sysconf)
|
||||
AC_CHECK_FUNCS(strcasecmp strncasecmp ctermid times unsetenv getpwnam getpwuid)
|
||||
AC_CHECK_FUNCS(memmove gettimeofday getrusage setrlimit clock_gettime)
|
||||
AC_CHECK_FUNCS(atexit raise getpagesize strftime nl_langinfo setlocale)
|
||||
|
@ -1,3 +1,8 @@
|
||||
2007-04-16 David Shaw <dshaw@jabberwocky.com>
|
||||
|
||||
* secmem.c (init_pool): Use sysconf() if available to determine
|
||||
page size.
|
||||
|
||||
2007-04-15 David Shaw <dshaw@jabberwocky.com>
|
||||
|
||||
* argparse.c (default_strusage): Copyright 2007.
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* secmem.c - memory allocation from a secure heap
|
||||
* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
* 2007 Free Software Foundation, Inc.
|
||||
*
|
||||
* This file is part of GnuPG.
|
||||
*
|
||||
@ -218,19 +219,22 @@ lock_pool( void *p, size_t n )
|
||||
static void
|
||||
init_pool( size_t n)
|
||||
{
|
||||
size_t pgsize;
|
||||
size_t pgsize=-1;
|
||||
|
||||
poolsize = n;
|
||||
|
||||
if( disable_secmem )
|
||||
log_bug("secure memory is disabled");
|
||||
|
||||
#ifdef HAVE_GETPAGESIZE
|
||||
#if defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE)
|
||||
pgsize = sysconf(_SC_PAGESIZE);
|
||||
#elif defined(HAVE_GETPAGESIZE)
|
||||
pgsize = getpagesize();
|
||||
#else
|
||||
pgsize = 4096;
|
||||
#endif
|
||||
|
||||
if(pgsize==-1)
|
||||
pgsize = 4096;
|
||||
|
||||
#ifdef HAVE_MMAP
|
||||
poolsize = (poolsize + pgsize -1 ) & ~(pgsize-1);
|
||||
#ifdef MAP_ANONYMOUS
|
||||
|
Loading…
x
Reference in New Issue
Block a user