diff options
| author | Christian Franke <nobody@nowhere.ws> | 2016-06-14 20:07:07 +0200 | 
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-10-20 20:28:26 -0400 | 
| commit | 2447614b9c283ee419543d480a8cb2918ce470e6 (patch) | |
| tree | 59e7534b49b42b06e335dcb5bb2dd9a0d762826a /pimd/pim_static.c | |
| parent | 6465ad886120f514001e826d35efa14ec0ba409c (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.c | 4 | 
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;     }  | 
