From: Alan T. DeKok Date: Tue, 6 Mar 2018 13:34:15 +0000 (-0500) Subject: set state correctly X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dd4cce08dcc0e4b6cb548216a3cbe8cbb185913d;p=thirdparty%2Ffreeradius-server.git set state correctly --- diff --git a/src/modules/rlm_securid/mem.c b/src/modules/rlm_securid/mem.c index 751c8f5df7c..e874a6011ee 100644 --- a/src/modules/rlm_securid/mem.c +++ b/src/modules/rlm_securid/mem.c @@ -113,6 +113,8 @@ int securid_sessionlist_add(rlm_securid_t *inst,REQUEST *request, SECURID_SESSIO session->session_id = inst->last_session_id; RDEBUG2("Creating a new session with id=%d\n",session->session_id); } + + memset(session->state, 0, sizeof(session->state)); snprintf(session->state,sizeof(session->state)-1,"FRR-CH %d|%d",session->session_id,session->trips+1); RDEBUG2("Inserting session id=%d identity='%s' state='%s' to the session list", session->session_id,SAFE_STR(session->identity),session->state); @@ -122,9 +124,10 @@ int securid_sessionlist_add(rlm_securid_t *inst,REQUEST *request, SECURID_SESSIO * Generate State, since we've been asked to add it to * the list. */ - state = pair_make_reply("State", session->state, T_OP_EQ); + state = fr_pair_make(request->reply, &request->reply->vps, "State", NULL, T_OP_EQ); if (!state) return -1; - state->vp_length = SECURID_STATE_LEN; + + fr_pair_value_memcpy(state, session->state, sizeof(session->state)); status = rbtree_insert(inst->session_tree, session); if (status) {