From ce49a281ed40c53177e9b5a62949b8dc618ab2b5 Mon Sep 17 00:00:00 2001 From: Tobias Lindahl Date: Mon, 1 Nov 2021 13:50:16 +0100 Subject: [PATCH] fix(persistent_sessions): protect against looking up stale data --- apps/emqx/src/emqx_persistent_session.erl | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/apps/emqx/src/emqx_persistent_session.erl b/apps/emqx/src/emqx_persistent_session.erl index 71dac02c3..13c74b62e 100644 --- a/apps/emqx/src/emqx_persistent_session.erl +++ b/apps/emqx/src/emqx_persistent_session.erl @@ -179,12 +179,17 @@ timestamp_from_conninfo(ConnInfo) -> end. lookup(ClientID) when is_binary(ClientID) -> - case lookup_session_store(ClientID) of - none -> none; - {value, #session_store{session = S} = SS} -> - case persistent_session_status(SS) of - expired -> {expired, S}; - persistent -> {persistent, S} + case is_store_enabled() of + false -> + none; + true -> + case lookup_session_store(ClientID) of + none -> none; + {value, #session_store{session = S} = SS} -> + case persistent_session_status(SS) of + expired -> {expired, S}; + persistent -> {persistent, S} + end end end.