From 34ae5427ceb61fa504d4742fe5389fe362325b12 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 8 Nov 2017 15:49:50 +0100 Subject: [PATCH] Fixed crash in file transfer message tests --- src/chat/chat-message/chat-message.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/chat/chat-message/chat-message.cpp b/src/chat/chat-message/chat-message.cpp index 7c296bb3c..8b1d12e1d 100644 --- a/src/chat/chat-message/chat-message.cpp +++ b/src/chat/chat-message/chat-message.cpp @@ -1148,7 +1148,7 @@ void ChatMessagePrivate::createFileTransferInformationsFromVndGsmaRcsFtHttpXml ( xmlFreeDoc(xmlMessageBody); fileContent->setFilePath(fileTransferContent->getFilePath()); // Copy file path from file transfer content to file content for file body handler - fileTransferContent->setFileUrl(string((const char *)file_url)); // Set file url in the file transfer content for the download + fileTransferContent->setFileUrl((const char *)file_url); // Set file url in the file transfer content for the download // Link the FileContent to the FileTransferContent fileTransferContent->setFileContent(fileContent); @@ -1189,7 +1189,15 @@ LinphoneReason ChatMessagePrivate::receive () { if (contents.size() == 0) { // All previous modifiers only altered the internal content, let's fill the content list - contents.push_back(&internalContent); + // But first check if content type is file transfer + if (internalContent.getContentType() == ContentType::FileTransfer) { + FileTransferContent *content = new FileTransferContent(); + content->setContentType(internalContent.getContentType()); + content->setBody(internalContent.getBody()); + contents.push_back(content); + } else { + contents.push_back(&internalContent); + } } // ---------------------------------------