diff options
author | tobias <tobias@openbsd.org> | 2008-09-10 15:00:01 +0000 |
---|---|---|
committer | tobias <tobias@openbsd.org> | 2008-09-10 15:00:01 +0000 |
commit | 8155cb2244cbcccac4314e624e035cc2030b4635 (patch) | |
tree | 59f1e0497fe457cdd3dbed74d4b9fe756967be5b /usr.sbin/bgpd/carp.c | |
parent | Proper format string modifiers and missing includes to get correct prototypes (diff) | |
download | wireguard-openbsd-8155cb2244cbcccac4314e624e035cc2030b4635.tar.xz wireguard-openbsd-8155cb2244cbcccac4314e624e035cc2030b4635.zip |
Properly free allocated memory if carp_demote_get encounters an error.
ok henning@
Diffstat (limited to 'usr.sbin/bgpd/carp.c')
-rw-r--r-- | usr.sbin/bgpd/carp.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/usr.sbin/bgpd/carp.c b/usr.sbin/bgpd/carp.c index 69d3082b341..655a30df127 100644 --- a/usr.sbin/bgpd/carp.c +++ b/usr.sbin/bgpd/carp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: carp.c,v 1.5 2007/04/23 14:52:28 claudio Exp $ */ +/* $OpenBSD: carp.c,v 1.6 2008/09/10 15:00:01 tobias Exp $ */ /* * Copyright (c) 2006 Henning Brauer <henning@openbsd.org> @@ -72,8 +72,11 @@ carp_demote_init(char *group, int force) } /* only demote if this group already is demoted */ - if ((level = carp_demote_get(group)) == -1) + if ((level = carp_demote_get(group)) == -1) { + free(c->group); + free(c); return (-1); + } if (level > 0 || force) c->do_demote = 1; |