aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2018-09-18 00:34:00 +0000
committerNIIBE Yutaka <[email protected]>2018-09-18 00:34:00 +0000
commitfe8b6339542f3b1228b5fd56fc710ea3b07a3a2b (patch)
treee5835653dc4c5f95753b616729ec13a54451474c
parentg10: Fix another memory leak. (diff)
downloadgnupg-fe8b6339542f3b1228b5fd56fc710ea3b07a3a2b.tar.gz
gnupg-fe8b6339542f3b1228b5fd56fc710ea3b07a3a2b.zip
g10: Fix memory leak for --card-status.
* g10/card-util.c (card_status): Release memory of serial number. Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r--g10/card-util.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/g10/card-util.c b/g10/card-util.c
index e9c0120a1..779e9d8e7 100644
--- a/g10/card-util.c
+++ b/g10/card-util.c
@@ -674,7 +674,7 @@ card_status (ctrl_t ctrl, estream_t fp, const char *serialno)
{
int err;
strlist_t card_list, sl;
- char *serialno0;
+ char *serialno0, *serialno1;
int all_cards = 0;
if (serialno == NULL)
@@ -700,8 +700,6 @@ card_status (ctrl_t ctrl, estream_t fp, const char *serialno)
for (sl = card_list; sl; sl = sl->next)
{
- char *serialno1;
-
if (!all_cards && strcmp (serialno, sl->d))
continue;
@@ -722,7 +720,8 @@ card_status (ctrl_t ctrl, estream_t fp, const char *serialno)
}
/* Select the original card again. */
- err = agent_scd_serialno (&serialno0, serialno0);
+ err = agent_scd_serialno (&serialno1, serialno0);
+ xfree (serialno1);
leave:
xfree (serialno0);