Skip to content

Commit

Permalink
Merge pull request #7332 from nextcloud/backport/7322/stable-3.14
Browse files Browse the repository at this point in the history
[stable-3.14] Fix crash caused due to null accountstate in FileProviderSocketController
  • Loading branch information
mgallien authored Oct 17, 2024
2 parents cb8182a + e262668 commit e65e581
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion src/gui/macOS/fileprovidersocketcontroller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,19 @@ void FileProviderSocketController::parseReceivedLine(const QString &receivedLine
const auto argument = receivedLine.mid(argPos + 1);

if (command == QStringLiteral("FILE_PROVIDER_DOMAIN_IDENTIFIER_REQUEST_REPLY")) {
_accountState = FileProviderDomainManager::accountStateFromFileProviderDomainIdentifier(argument);
auto domainIdentifier = argument;
// Check if we have a port number who's colon has been replaced by a hyphen
// This is a workaround for the fact that we can't use colons as characters in domain names
// Let's check if, after the final hyphen, we have a number -- then it is a port number
const auto portColonPos = argument.lastIndexOf('-');
const auto possiblePort = argument.mid(portColonPos + 1);
auto validInt = false;
const auto port = possiblePort.toInt(&validInt);
if (validInt && port > 0) {
domainIdentifier.replace(portColonPos, 1, ':');
}

_accountState = FileProviderDomainManager::accountStateFromFileProviderDomainIdentifier(domainIdentifier);
sendAccountDetails();
reportSyncState("SYNC_PREPARING");
return;
Expand Down

0 comments on commit e65e581

Please sign in to comment.