diff options
author | Alexander V. Chernikov <melifaro@FreeBSD.org> | 2021-02-12 20:56:52 +0000 |
---|---|---|
committer | Alexander V. Chernikov <melifaro@FreeBSD.org> | 2021-02-14 10:16:51 +0000 |
commit | 11304949deb36d2f9abbcda87d398496e892dcec (patch) | |
tree | 3ee7112c54e94f052cf46685a7fba3c3dc3f8dbe | |
parent | f94e8beadbd82f758c7663cb7115aeec2fbed7fa (diff) |
Fix ifa refcount leak during route addition.
Reported by: rstone
Reviewed by: rstone
(cherry picked from commit a375ec52a7b423133f66878ecf002efc3b6e9fca)
-rw-r--r-- | sys/net/route/route_ctl.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/net/route/route_ctl.c b/sys/net/route/route_ctl.c index 6b0869196d12..9aedfb9d5855 100644 --- a/sys/net/route/route_ctl.c +++ b/sys/net/route/route_ctl.c @@ -594,14 +594,12 @@ create_rtentry(struct rib_head *rnh, struct rt_addrinfo *info, } error = nhop_create_from_info(rnh, info, &nh); - if (error != 0) { - ifa_free(info->rti_ifa); + ifa_free(info->rti_ifa); + if (error != 0) return (error); - } rt = uma_zalloc(V_rtzone, M_NOWAIT | M_ZERO); if (rt == NULL) { - ifa_free(info->rti_ifa); nhop_free(nh); return (ENOBUFS); } |