summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sbin/isakmpd/util.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sbin/isakmpd/util.c b/sbin/isakmpd/util.c
index 55d4ddb1ce0..ae89c0be534 100644
--- a/sbin/isakmpd/util.c
+++ b/sbin/isakmpd/util.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: util.c,v 1.41 2004/06/14 09:55:42 ho Exp $ */
+/* $OpenBSD: util.c,v 1.42 2004/06/16 15:08:20 hshoexer Exp $ */
/* $EOM: util.c,v 1.23 2000/11/23 12:22:08 niklas Exp $ */
/*
@@ -256,8 +256,10 @@ text2sockaddr(char *address, char *port, struct sockaddr **sa)
return -1;
*sa = malloc(sysdep_sa_len(ai->ai_addr));
- if (!sa)
+ if (!*sa) {
+ freeaddrinfo(ai);
return -1;
+ }
memcpy(*sa, ai->ai_addr, sysdep_sa_len(ai->ai_addr));
freeaddrinfo(ai);