aboutsummaryrefslogtreecommitdiff
path: root/src/mod_roster.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_roster.erl')
-rw-r--r--src/mod_roster.erl7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mod_roster.erl b/src/mod_roster.erl
index feb9a2f2e..fe2738bc6 100644
--- a/src/mod_roster.erl
+++ b/src/mod_roster.erl
@@ -627,7 +627,12 @@ process_item_els(Item, []) ->
push_item(User, Server, From, Item)
when is_binary(User), is_binary(Server), ?IS_JID(From) ->
- {U, S, R} = Item#roster.jid,
+ {U, S, R2} = Item#roster.jid,
+ %% the ?XMLATTR macro will convert 'undefined' to <<"undefined">> .. so here we use <<>> for bare jids.
+ R = case R2 of
+ undefined -> <<>>;
+ _ -> R2
+ end,
ejabberd_sm:route(exmpp_jid:make(),
exmpp_jid:make(User, Server),
#xmlel{name = 'broadcast', ns = roster_item, attrs =