Skip to content

Commit

Permalink
Merge pull request #7322 from nextcloud/bugfix/vfs-crash-socketcontro…
Browse files Browse the repository at this point in the history
…ller

Fix crash caused due to null accountstate in FileProviderSocketController
  • Loading branch information
claucambra authored Oct 16, 2024
2 parents ace0278 + 14a9382 commit e02cf85
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 e02cf85

Please sign in to comment.