From c3361bab95b4d56e879b4e2ba20e7634caa10e51 Mon Sep 17 00:00:00 2001 From: Badlop Date: Wed, 15 Aug 2018 12:16:01 +0200 Subject: [PATCH] Handle get_presence(Pid) when session doesn't exist (#2547) --- src/mod_admin_extra.erl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/mod_admin_extra.erl b/src/mod_admin_extra.erl index 13a7fa33d..1b3b27d38 100644 --- a/src/mod_admin_extra.erl +++ b/src/mod_admin_extra.erl @@ -1003,6 +1003,13 @@ stringize(String) -> ejabberd_regexp:greplace(String, <<"\n">>, <<"\\n">>). get_presence(Pid) -> + try get_presence2(Pid) of + {_, _, _, _} = Res -> + Res + catch + _:_ -> {<<"">>, <<"">>, <<"offline">>, <<"">>} + end. +get_presence2(Pid) -> Pres = #presence{from = From} = ejabberd_c2s:get_presence(Pid), Show = case Pres of #presence{type = unavailable} -> <<"unavailable">>;