diff --git a/src/jamidht/conversationrepository.cpp b/src/jamidht/conversationrepository.cpp index bfdc08535ec4b6a11facd859c5e616b09c78f818..727576cdd50e739bc17c35e21c7d8415c1c8b4b2 100644 --- a/src/jamidht/conversationrepository.cpp +++ b/src/jamidht/conversationrepository.cpp @@ -2635,6 +2635,12 @@ ConversationRepository::cloneConversation( const std::string& conversationId, std::function<void(std::vector<ConversationCommit>)>&& checkCommitCb) { + // Verify conversationId is not empty to avoid deleting the entire conversations directory + if (conversationId.empty()) { + JAMI_ERROR("[Account {}] Clone conversation with empty conversationId", account->getAccountID()); + return nullptr; + } + auto conversationsPath = fileutils::get_data_dir() / account->getAccountID() / "conversations"; dhtnet::fileutils::check_dir(conversationsPath); auto path = conversationsPath / conversationId;