aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_sm.erl7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl
index 3df1d88e0..97e599253 100644
--- a/src/ejabberd_sm.erl
+++ b/src/ejabberd_sm.erl
@@ -314,8 +314,11 @@ get_session_sid(User, Server, Resource) ->
LResource = jid:resourceprep(Resource),
Mod = get_sm_backend(LServer),
case online(get_sessions(Mod, LUser, LServer, LResource)) of
- [#session{sid = SID}] -> SID;
- _ -> none
+ [] ->
+ none;
+ Ss ->
+ #session{sid = SID} = lists:max(Ss),
+ SID
end.
-spec get_session_sids(binary(), binary()) -> [sid()].