1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
Description: Fix a crash when an invalid SIP domain is entered in the "Other SIP account" assistant
Author: Dennis Filder <d.filder@web.de>
Forwarded: TBD
Last-Update: 2022-10-07
--- a/linphone-app/src/components/assistant/AssistantModel.cpp
+++ b/linphone-app/src/components/assistant/AssistantModel.cpp
@@ -336,6 +336,10 @@
const QString domain = map["sipDomain"].toString();
+ if (domain.startsWith(QLatin1String("sip:"))) {
+ qWarning() << QStringLiteral("Field 'SIP Domain' must be a domain or host name (e.g. voip.example.org), not a URL: %1").arg(domain);
+ return nullptr;
+ }
QString sipAddress = QStringLiteral("sip:%1@%2")
.arg(map["username"].toString()).arg(domain);
@@ -364,7 +368,7 @@
// Sip Address.
shared_ptr<linphone::Address> address = factory->createAddress(Utils::appStringToCoreString(sipAddress));
- if (!address) {
+ if (!address || address->asString().length() == 0) {
qWarning() << QStringLiteral("Unable to create sip address object from: `%1`.").arg(sipAddress);
return nullptr;
}
|