]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
session_state_ctx should always exist
authorAlan T. DeKok <aland@freeradius.org>
Tue, 7 Feb 2023 17:08:51 +0000 (12:08 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 7 Feb 2023 19:57:18 +0000 (14:57 -0500)
and even if it doesn't, talloc_free() is NULL-safe

src/lib/server/state.c

index bfdb84c4591a2d106cd4548c707bc34f86688d5d..b50057f5d33b69a716313310b0332a5d4ed2f260 100644 (file)
@@ -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);