diff --git a/src/ldap/ldap-contact-provider.cpp b/src/ldap/ldap-contact-provider.cpp index 146a661269100f25f836effc7edc11987b99497b..50342617a0dc127ca553b1b5bdc5d1d19679148c 100644 --- a/src/ldap/ldap-contact-provider.cpp +++ b/src/ldap/ldap-contact-provider.cpp @@ -472,9 +472,10 @@ int LdapContactProvider::buildContact(LdapContactFields *contact, if (mConfig.count("sip_domain") > 0 && mConfig.at("sip_domain")[0] != "") linphone_address_set_domain(la, mConfig.at("sip_domain")[0].c_str()); char *newSip = linphone_address_as_string(la); - char *phoneNumber = - linphone_account_normalize_phone_number(linphone_core_get_default_account(mCore->getCCore()), - attributes[attributeIndex].second.c_str()); + const char *username = linphone_address_get_username(la); + char *phoneNumber = username ? linphone_account_normalize_phone_number( + linphone_core_get_default_account(mCore->getCCore()), username) + : nullptr; if (contact->mSip.count(newSip) == 0 || contact->mSip[newSip] == "") contact->mSip[newSip] = (phoneNumber ? phoneNumber : ""); if (phoneNumber) ms_free(phoneNumber);