diff options
-rw-r--r-- | sbin/isakmpd/util.c | 6 |
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); |