From f46327dc6e2daab91b8f164fc0e77fcb4cb80c6a Mon Sep 17 00:00:00 2001
From: Arthur Grosser <15238252+agrrto@users.noreply.github.com>
Date: Fri, 27 May 2022 15:22:25 +0200
Subject: [PATCH] Fix segfault when receive netlink message for static default
 route added

This extends acassen@069a039 where the problem was fixed for virtual
routes.
Conflict: NA
Reference: https://github.com/acassen/keepalived/commit/f46327dc6e2daab91b8f164fc0e77fcb4cb80c6a
---
 keepalived/core/keepalived_netlink.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/keepalived/core/keepalived_netlink.c b/keepalived/core/keepalived_netlink.c
index ea8843f..5c078d2 100644
--- a/keepalived/core/keepalived_netlink.c
+++ b/keepalived/core/keepalived_netlink.c
@@ -321,7 +321,10 @@ route_is_ours(struct rtmsg* rt, struct rtattr *tb[RTA_MAX + 1], vrrp_t** ret_vrr
 		    tos != route->tos)
 			continue;
 
-		if (compare_addr(family, RTA_DATA(tb[RTA_DST]), route->dst))
+		if (!tb[RTA_DST])
+			memset(&default_addr, 0, sizeof(default_addr));
+
+		if (compare_addr(family, tb[RTA_DST] ? RTA_DATA(tb[RTA_DST]) : &default_addr, route->dst))
 			continue;
 
 		return route;
-- 
2.23.0

