From: Badlop <badlop@process-one.net>
Date: Wed, 25 Mar 2015 12:56:04 +0000 (+0100)
Subject: Detect correctly when vCard does not exist (#21)
X-Git-Tag: 15.04~78
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fbb6b65192ca103aedbd8ee803d7fa2c6d634354;p=ejabberd

Detect correctly when vCard does not exist (#21)
---

diff --git a/src/mod_admin_extra.erl b/src/mod_admin_extra.erl
index f04e6a19a..fb8a5df96 100644
--- a/src/mod_admin_extra.erl
+++ b/src/mod_admin_extra.erl
@@ -976,8 +976,9 @@ get_vcard_content(User, Server, Data) ->
     JID = jlib:make_jid(User, Server, get_module_resource(Server)),
     IQ = #iq{type = get, xmlns = ?NS_VCARD},
     IQr = Module:Function(JID, JID, IQ),
-    case IQr#iq.sub_el of
-	[A1] ->
+    [A1] = IQr#iq.sub_el,
+    case A1#xmlel.children of
+	[_] ->
 	    case get_vcard(Data, A1) of
 		[false] -> throw(error_no_value_found_in_vcard);
 		ElemList -> [xml:get_tag_cdata(Elem) || Elem <- ElemList]