[Pkg-gnupg-commit] [gnupg2] 18/185: agent: Fix memory leaks.
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Mon Aug 7 11:55:16 UTC 2017
This is an automated email from the git hooks/post-receive script.
dkg pushed a commit to branch experimental
in repository gnupg2.
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>
---
agent/divert-scd.c | 8 +++++---
agent/gpg-agent.c | 7 ++++++-
2 files changed, 11 insertions(+), 4 deletions(-)
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;
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gnupg2.git
More information about the Pkg-gnupg-commit
mailing list