summaryrefslogtreecommitdiff
path: root/pimd/pim_static.c
diff options
context:
space:
mode:
authorChristian Franke <nobody@nowhere.ws>2016-06-14 20:07:07 +0200
committerDonald Sharp <sharpd@cumulusnetworks.com>2016-10-20 20:28:26 -0400
commit2447614b9c283ee419543d480a8cb2918ce470e6 (patch)
tree59e7534b49b42b06e335dcb5bb2dd9a0d762826a /pimd/pim_static.c
parent6465ad886120f514001e826d35efa14ec0ba409c (diff)
pimd: don't leak original_s_route on error
original_s_route is allocated on the heap and was not freed during the error case. Signed-off-by: Christian Franke <chris@opensourcerouting.org> Signed-off-by: Christian Franke <chris@opensourcerouting.org> Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_static.c')
-rw-r--r--pimd/pim_static.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/pimd/pim_static.c b/pimd/pim_static.c
index c1154dc088..5882142b32 100644
--- a/pimd/pim_static.c
+++ b/pimd/pim_static.c
@@ -198,6 +198,10 @@ int pim_static_add(struct interface *iif, struct interface *oif, struct in_addr
pim_static_route_free(s_route);
}
+ if (original_s_route) {
+ pim_static_route_free(original_s_route);
+ }
+
return -1;
}