summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@gnu.org>2021-03-15 11:03:22 +0100
committerDaiki Ueno <ueno@gnu.org>2021-03-15 11:03:22 +0100
commitdba8ab0de551d164683c54dfde9c32599d3ed10a (patch)
treec74c7ebc40787a0f37a436a1bd9155e7c5805dfc
parentdf31d067844d7fa46c0658652eca49f9a447676f (diff)
downloadgnutls-dba8ab0de551d164683c54dfde9c32599d3ed10a.tar.gz
examples: avoid memory leak in tlsproxy
Signed-off-by: Daiki Ueno <ueno@gnu.org>
-rw-r--r--doc/examples/tlsproxy/tlsproxy.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/doc/examples/tlsproxy/tlsproxy.c b/doc/examples/tlsproxy/tlsproxy.c
index 9404d875ef..2607eae049 100644
--- a/doc/examples/tlsproxy/tlsproxy.c
+++ b/doc/examples/tlsproxy/tlsproxy.c
@@ -109,6 +109,7 @@ bindtoaddress (char *addrport)
if (!rp)
{
fprintf (stderr, "Error binding to %s:%s: %m\n", addr, port);
+ freeaddrinfo (result);
return -1;
}
@@ -172,6 +173,7 @@ connecttoaddress (char *addrport)
if (!rp)
{
fprintf (stderr, "Error connecting to %s:%s: %m\n", addr, port);
+ freeaddrinfo (result);
return -1;
}
@@ -341,26 +343,32 @@ processoptions (int argc, char **argv)
break;
case 'c':
+ free (connectaddr);
connectaddr = strdup (optarg);
break;
case 'l':
+ free (listenaddr);
listenaddr = strdup (optarg);
break;
case 'K':
+ free (keyfile);
keyfile = strdup (optarg);
break;
case 'C':
+ free (certfile);
certfile = strdup (optarg);
break;
case 'A':
+ free (cacertfile);
cacertfile = strdup (optarg);
break;
case 'H':
+ free (hostname);
hostname = strdup (optarg);
break;