---
 src/inet.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/inet.c b/src/inet.c
index cd220ff..fae36a0 100644
--- a/src/inet.c
+++ b/src/inet.c
@@ -634,17 +634,15 @@ int connman_inet_add_ipv6_network_route(int index, const 
char *host,
 
        rt.rtmsg_dst_len = prefix_len;
 
-       if (inet_pton(AF_INET6, host, &rt.rtmsg_dst) < 0) {
+       if (inet_pton(AF_INET6, host, &rt.rtmsg_dst) < 1) {
                err = -errno;
                goto out;
        }
 
        rt.rtmsg_flags = RTF_UP | RTF_HOST;
 
-       if (gateway) {
+       if (gateway && inet_pton(AF_INET6, gateway, &rt.rtmsg_gateway) > 0)
                rt.rtmsg_flags |= RTF_GATEWAY;
-               inet_pton(AF_INET6, gateway, &rt.rtmsg_gateway);
-       }
 
        rt.rtmsg_metric = 1;
        rt.rtmsg_ifindex = index;
@@ -686,7 +684,7 @@ int connman_inet_clear_ipv6_gateway_address(int index, 
const char *gateway)
 
        memset(&rt, 0, sizeof(rt));
 
-       if (inet_pton(AF_INET6, gateway, &rt.rtmsg_gateway) < 0) {
+       if (inet_pton(AF_INET6, gateway, &rt.rtmsg_gateway) < 1) {
                err = -errno;
                goto out;
        }
-- 
1.8.3.2

_______________________________________________
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Reply via email to