From: Alan T. DeKok Date: Tue, 7 Feb 2023 17:08:51 +0000 (-0500) Subject: session_state_ctx should always exist X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=00b2a4074e784fee7a2cdcc05de6e3bf5af47549;p=thirdparty%2Ffreeradius-server.git session_state_ctx should always exist and even if it doesn't, talloc_free() is NULL-safe --- diff --git a/src/lib/server/state.c b/src/lib/server/state.c index bfdb84c4591..b50057f5d33 100644 --- a/src/lib/server/state.c +++ b/src/lib/server/state.c @@ -662,7 +662,7 @@ void fr_state_discard(fr_state_tree_t *state, request_t *request) int fr_state_to_request(fr_state_tree_t *state, request_t *request) { fr_state_entry_t *entry; - TALLOC_CTX *old_ctx = NULL; + TALLOC_CTX *old_ctx; fr_pair_t *vp; /* @@ -689,7 +689,7 @@ int fr_state_to_request(fr_state_tree_t *state, request_t *request) RERROR("State entry has already been thawed by a request %"PRIu64, entry->thawed->number); return -2; } - if (request->session_state_ctx) old_ctx = request->session_state_ctx; /* Store for later freeing */ + old_ctx = request->session_state_ctx; /* Store for later freeing */ fr_assert(entry->ctx); @@ -719,7 +719,7 @@ int fr_state_to_request(fr_state_tree_t *state, request_t *request) /* * Free this outside of the mutex for less contention. */ - if (old_ctx) talloc_free(old_ctx); + talloc_free(old_ctx); RDEBUG3("%s - restored", state->da->name);