gpg-agent.c (main): In detached mode connect standard descriptors to /dev/null.
authorWerner Koch <wk@gnupg.org>
Thu, 9 Nov 2006 16:09:46 +0000 (16:09 +0000)
committerWerner Koch <wk@gnupg.org>
Thu, 9 Nov 2006 16:09:46 +0000 (16:09 +0000)
Other minor fixes

agent/ChangeLog
agent/gpg-agent.c
agent/protect-tool.c
agent/trustlist.c

index 83692d4..38ebd0f 100644 (file)
@@ -1,3 +1,15 @@
+2006-11-09  Werner Koch  <wk@g10code.com>
+
+       * gpg-agent.c (main): In detached mode connect standard
+       descriptors to /dev/null.
+
+       * trustlist.c (read_trustfiles): Make sure not to pass a zero size
+       to realloc as the C standards says that this behaves like free.
+
+2006-11-06  Werner Koch  <wk@g10code.com>
+
+       * protect-tool.c (my_strusage): Fixed typo.
+
 2006-10-23  Werner Koch  <wk@g10code.com>
 
        * gpg-agent.c (main): New command --gpgconf-test.
index 5201be8..979fa35 100644 (file)
@@ -1007,7 +1007,16 @@ main (int argc, char **argv )
           for (i=0; i <= 2; i++) 
             {
               if (!log_test_fd (i) && i != fd )
-                close (i);
+                {
+                  if ( ! close (i)
+                       && open ("/dev/null", i? O_WRONLY : O_RDONLY) == -1)
+                    {
+                      log_error ("failed to open `%s': %s\n",
+                                 "/dev/null", strerror (errno));
+                      cleanup ();
+                      exit (1);
+                    }
+                }
             }
           if (setsid() == -1)
             {
index 23f1d93..4a0e53d 100644 (file)
@@ -145,7 +145,7 @@ my_strusage (int level)
     case 1:
     case 40: p =  _("Usage: gpg-protect-tool [options] (-h for help)\n");
       break;
-    case 41: p =  _("Syntax: gpg-protect-tool [options] [args]]\n"
+    case 41: p =  _("Syntax: gpg-protect-tool [options] [args]\n"
                     "Secret key maintenance tool\n");
     break;
     
index 51e655a..0034525 100644 (file)
@@ -317,8 +317,7 @@ read_trustfiles (void)
     }
 
   /* Fixme: we should drop duplicates and sort the table. */
-
-  ti = xtryrealloc (table, tableidx * sizeof *table);
+  ti = xtryrealloc (table, (tableidx?tableidx:1) * sizeof *table);
   if (!ti)
     {
       xfree (table);