diff options
author | 2015-10-19 14:15:59 +0000 | |
---|---|---|
committer | 2015-10-19 14:15:59 +0000 | |
commit | bdff1025985e7d907150fb0ba086cb3eaddbb785 (patch) | |
tree | bb416916dcc6f53c5ed7b1fb7536224910b4a42c | |
parent | Revert transfer submission to r1.85. Seems to make okan@'s scanner (diff) | |
download | wireguard-openbsd-bdff1025985e7d907150fb0ba086cb3eaddbb785.tar.xz wireguard-openbsd-bdff1025985e7d907150fb0ba086cb3eaddbb785.zip |
fix memory leaks in error paths
ok renato@
-rw-r--r-- | usr.sbin/eigrpd/parse.y | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/usr.sbin/eigrpd/parse.y b/usr.sbin/eigrpd/parse.y index f8b1ac8f07c..99b6903423c 100644 --- a/usr.sbin/eigrpd/parse.y +++ b/usr.sbin/eigrpd/parse.y @@ -1,4 +1,4 @@ -/* $OpenBSD: parse.y,v 1.2 2015/10/04 22:54:38 renato Exp $ */ +/* $OpenBSD: parse.y,v 1.3 2015/10/19 14:15:59 jsg Exp $ */ /* * Copyright (c) 2015 Renato Westphal <renato@openbsd.org> @@ -1161,14 +1161,19 @@ host(const char *s, union eigrpd_addr *addr, uint8_t *plen) memset(addr, 0, sizeof(union eigrpd_addr)); switch (af) { case AF_INET: - if (inet_pton(AF_INET, ps, &addr->v4) != 1) + if (inet_pton(AF_INET, ps, &addr->v4) != 1) { + free(ps); return (-1); + } break; case AF_INET6: - if (inet_pton(AF_INET6, ps, &addr->v6) != 1) + if (inet_pton(AF_INET6, ps, &addr->v6) != 1) { + free(ps); return (-1); + } break; default: + free(ps); return (-1); } eigrp_applymask(af, addr, addr, *plen); |