[git] GnuPG - branch, master, updated. gnupg-2.1.21-18-g9965446

by NIIBE Yutaka cvs at cvs.gnupg.org
Tue May 30 07:11:54 CEST 2017


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The GNU Privacy Guard".

The branch, master has been updated
       via  996544626ea416c173a940db47f47f9e5cbd844c (commit)
      from  de3a0988ef9addccd6b5c7950fb8797afbc3978d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 996544626ea416c173a940db47f47f9e5cbd844c
Author: NIIBE Yutaka <gniibe at fsij.org>
Date:   Tue May 30 13:56:20 2017 +0900

    agent: Fix memory leaks.
    
    * agent/divert-scd.c (ask_for_card): Free WANT_KID and WANT_SN_DISP.
    * agent/gpg-agent.c (create_server_socket): Free UNADDR.
    
    Signed-off-by: NIIBE Yutaka <gniibe at fsij.org>

diff --git a/agent/divert-scd.c b/agent/divert-scd.c
index 153119b..88b35cd 100644
--- a/agent/divert-scd.c
+++ b/agent/divert-scd.c
@@ -52,6 +52,7 @@ ask_for_card (ctrl_t ctrl, const unsigned char *shadow_info, char **r_kid)
     {
       rc = gpg_error_from_syserror ();
       xfree (want_sn);
+      xfree (want_kid);
       return rc;
     }
 
@@ -84,6 +85,7 @@ ask_for_card (ctrl_t ctrl, const unsigned char *shadow_info, char **r_kid)
           serialno = NULL;
           if (!i)
             {
+              xfree (want_sn_disp);
               xfree (want_sn);
               *r_kid = want_kid;
               return 0; /* yes, we have the correct card */
@@ -122,9 +124,9 @@ ask_for_card (ctrl_t ctrl, const unsigned char *shadow_info, char **r_kid)
           else
             {
               rc = agent_get_confirmation (ctrl, desc, NULL, NULL, 0);
-	      if (ctrl->pinentry_mode == PINENTRY_MODE_LOOPBACK &&
-		  gpg_err_code (rc) == GPG_ERR_NO_PIN_ENTRY)
-		rc = gpg_error (GPG_ERR_CARD_NOT_PRESENT);
+              if (ctrl->pinentry_mode == PINENTRY_MODE_LOOPBACK &&
+                  gpg_err_code (rc) == GPG_ERR_NO_PIN_ENTRY)
+                rc = gpg_error (GPG_ERR_CARD_NOT_PRESENT);
 
               xfree (desc);
             }
diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c
index 77b811c..44b9be2 100644
--- a/agent/gpg-agent.c
+++ b/agent/gpg-agent.c
@@ -2129,6 +2129,7 @@ create_server_socket (char *name, int primary, int cygwin,
           log_error ("error preparing socket '%s': %s\n",
                      name, gpg_strerror (gpg_error_from_syserror ()));
         *name = 0; /* Inhibit removal of the socket by cleanup(). */
+        xfree (unaddr);
         agent_exit (2);
       }
     if (redirected)
@@ -2166,6 +2167,7 @@ create_server_socket (char *name, int primary, int cygwin,
                        "not starting a new one\n"));
           *name = 0; /* Inhibit removal of the socket by cleanup(). */
           assuan_sock_close (fd);
+          xfree (unaddr);
           agent_exit (2);
         }
       gnupg_remove (unaddr->sun_path);
@@ -2178,11 +2180,12 @@ create_server_socket (char *name, int primary, int cygwin,
       /* We use gpg_strerror here because it allows us to get strings
          for some W32 socket error codes.  */
       log_error (_("error binding socket to '%s': %s\n"),
-		 unaddr->sun_path,
+                 unaddr->sun_path,
                  gpg_strerror (gpg_error_from_syserror ()));
 
       assuan_sock_close (fd);
       *name = 0; /* Inhibit removal of the socket by cleanup(). */
+      xfree (unaddr);
       agent_exit (2);
     }
 
@@ -2195,12 +2198,14 @@ create_server_socket (char *name, int primary, int cygwin,
       log_error (_("listen() failed: %s\n"), strerror (errno));
       *name = 0; /* Inhibit removal of the socket by cleanup(). */
       assuan_sock_close (fd);
+      xfree (unaddr);
       agent_exit (2);
     }
 
   if (opt.verbose)
     log_info (_("listening on socket '%s'\n"), unaddr->sun_path);
 
+  xfree (unaddr);
   return fd;
 }
 

-----------------------------------------------------------------------

Summary of changes:
 agent/divert-scd.c | 8 +++++---
 agent/gpg-agent.c  | 7 ++++++-
 2 files changed, 11 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
The GNU Privacy Guard
http://git.gnupg.org




More information about the Gnupg-commits mailing list