Blame SOURCES/freeradius-Fix-segfault-when-home_server-is-null.patch

f5c254
From e2de6fab148e800380f1929fe4ea88a38de42053 Mon Sep 17 00:00:00 2001
f5c254
From: "Alan T. DeKok" <aland@freeradius.org>
f5c254
Date: Wed, 20 Nov 2019 13:59:54 -0500
f5c254
Subject: [PATCH] a better fix for commit 30ffd21
f5c254
f5c254
Which still runs post-proxy-type fail if all of the home servers
f5c254
are dead
f5c254
f5c254
[antorres@redhat.com: solved in FR 3.0.21, resolves bz#2030173]
f5c254
[antorres@redhat.com: removed first hunk of commit, already present]
f5c254
---
f5c254
 src/main/process.c | 9 +++------
f5c254
 1 file changed, 3 insertions(+), 6 deletions(-)
f5c254
f5c254
diff --git a/src/main/process.c b/src/main/process.c
f5c254
index c8b3af24e2..1a48517d43 100644
f5c254
--- a/src/main/process.c
f5c254
+++ b/src/main/process.c
f5c254
@@ -2475,13 +2474,12 @@ static int process_proxy_reply(REQUEST *request, RADIUS_PACKET *reply)
f5c254
 	}
f5c254
 
f5c254
 	old_server = request->server;
f5c254
-	rad_assert(request->home_server != NULL);
f5c254
 
f5c254
 	/*
f5c254
 	 *	If the home server is virtual, just run pre_proxy from
f5c254
 	 *	that section.
f5c254
 	 */
f5c254
-	if (request->home_server->server) {
f5c254
+	if (request->home_server && request->home_server->server) {
f5c254
 		request->server = request->home_server->server;
f5c254
 
f5c254
 	} else {
f5c254
@@ -3182,13 +3180,12 @@ do_home:
f5c254
 	}
f5c254
 
f5c254
 	old_server = request->server;
f5c254
-	rad_assert(request->home_server != NULL);
f5c254
 
f5c254
 	/*
f5c254
 	 *	If the home server is virtual, just run pre_proxy from
f5c254
 	 *	that section.
f5c254
 	 */
f5c254
-	if (request->home_server->server) {
f5c254
+	if (request->home_server && request->home_server->server) {
f5c254
 		request->server = request->home_server->server;
f5c254
 
f5c254
 	} else {
f5c254
-- 
f5c254
2.31.1
f5c254