From a4f596a6364744eaca467146e3497f89b43cef29 Mon Sep 17 00:00:00 2001 From: menyua Date: Wed, 15 Oct 2025 15:23:16 +0800 Subject: [PATCH] RADIUS server: Check for NULL pointer in a theoretical error case Since there is a special case with a call to radius_server_free_clients() using data == NULL for a parsing failure, radius_server_session_free() should check that data is set before dereferencing it. It does not look like this case would be reachable in practice, though, since this would require there to be an ongoing RADIUS session which cannot really be established without the client configuration file having been successfully parsed. Signed-off-by: Meng Yuan --- src/radius/radius_server.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/radius/radius_server.c b/src/radius/radius_server.c index c9497c068..742b46a9a 100644 --- a/src/radius/radius_server.c +++ b/src/radius/radius_server.c @@ -374,7 +374,8 @@ static void radius_server_session_free(struct radius_server_data *data, os_free(sess->username); os_free(sess->nas_ip); os_free(sess); - data->num_sess--; + if (data) + data->num_sess--; } -- 2.47.3