]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Fix argv leaks in add_route() and add_route_ipv6()
authorDavid Korczynski <david@adalogics.com>
Wed, 14 Jul 2021 16:25:33 +0000 (17:25 +0100)
committerGert Doering <gert@greenie.muc.de>
Tue, 27 Jul 2021 14:16:18 +0000 (16:16 +0200)
If a route structure is passed to add_route() or add_route_ipv6()
without the RT_DEFINED flag set, both functions leak an "argv"
structure allocation.

Add appropriate argv_free() calls.

Signed-off-by: David Korczynski <david@adalogics.com>
Acked-by: Antonio Quartulli <antonio@openvpn.net>
Message-Id: <20210714162533.10098-1-david@adalogics.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg22637.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
(cherry picked from commit a11bea18b1c93b260352ec505db15be0ec9431ee)

src/openvpn/route.c

index bfb5e4ce03eda5d36c574f27f21d0520ea451022..3ff9f53de6cb1619e915f1895ae391f04f69889c 100644 (file)
@@ -1584,6 +1584,7 @@ add_route(struct route_ipv4 *r,
 
     if (!(r->flags & RT_DEFINED))
     {
+        argv_free(&argv);
         return;
     }
 
@@ -1891,6 +1892,7 @@ add_route_ipv6(struct route_ipv6 *r6, const struct tuntap *tt,
 
     if (!(r6->flags & RT_DEFINED) )
     {
+        argv_free(&argv);
         return;
     }