diff -up gnupg-2.0.14/g10/gpg.c.secmem gnupg-2.0.14/g10/gpg.c
--- gnupg-2.0.14/g10/gpg.c.secmem	2009-12-21 15:00:55.000000000 +0100
+++ gnupg-2.0.14/g10/gpg.c	2010-06-18 18:03:24.000000000 +0200
@@ -789,7 +789,7 @@ make_libversion (const char *libname, co
   
   if (maybe_setuid)
     {
-      gcry_control (GCRYCTL_INIT_SECMEM, 0, 0);  /* Drop setuid. */
+      gcry_control (GCRYCTL_INIT_SECMEM, 4096, 0);  /* Drop setuid. */
       maybe_setuid = 0;
     }
   s = getfnc (NULL);
@@ -892,7 +892,7 @@ build_list( const char *text, char lette
     char *list, *p, *line=NULL;
 
     if (maybe_setuid)
-      gcry_control (GCRYCTL_INIT_SECMEM, 0, 0);  /* Drop setuid. */
+      gcry_control (GCRYCTL_INIT_SECMEM, 4096, 0);  /* Drop setuid. */
 
     for(i=0; i <= 110; i++ )
 	if( !chkf(i) && (s=mapf(i)) )
diff -up gnupg-2.0.14/sm/gpgsm.c.secmem gnupg-2.0.14/sm/gpgsm.c
--- gnupg-2.0.14/sm/gpgsm.c.secmem	2009-12-10 12:35:43.000000000 +0100
+++ gnupg-2.0.14/sm/gpgsm.c	2010-06-18 18:03:07.000000000 +0200
@@ -493,7 +493,7 @@ make_libversion (const char *libname, co
   
   if (maybe_setuid)
     {
-      gcry_control (GCRYCTL_INIT_SECMEM, 0, 0);  /* Drop setuid. */
+      gcry_control (GCRYCTL_INIT_SECMEM, 4096, 0);  /* Drop setuid. */
       maybe_setuid = 0;
     }
   s = getfnc (NULL);
