Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/SpectrumIM/spectrum2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitaly Takmazov <vitalyster@gmail.com>2022-01-30 18:54:08 +0300
committerVitaly Takmazov <vitalyster@gmail.com>2022-01-30 18:54:08 +0300
commit5ef365b2552153b0bf142cfd5a679c5154f0aaf1 (patch)
tree5ee5c16e90c3cd60c71e72c99b38377403e458d7
parent6899cb74c30174040bc74dfcabbc9abaf1c1d361 (diff)
libpurple: do not crash on filetransfers with empty filename
-rw-r--r--backends/libpurple/main.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/backends/libpurple/main.cpp b/backends/libpurple/main.cpp
index 541f8e47..86aff002 100644
--- a/backends/libpurple/main.cpp
+++ b/backends/libpurple/main.cpp
@@ -1982,7 +1982,9 @@ static void XferCreated(PurpleXfer *xfer) {
PurpleAccount *account = purple_xfer_get_account_wrapped(xfer);
if (np->m_accounts.find(account) != np->m_accounts.end()) {
- np->handleFTStart(np->m_accounts[account], xfer->who ? xfer->who : "", purple_xfer_get_filename_wrapped(xfer), purple_xfer_get_size_wrapped(xfer));
+ const char * filenameData = purple_xfer_get_filename_wrapped(xfer);
+ std::string filename(filenameData ? filenameData : "");
+ np->handleFTStart(np->m_accounts[account], xfer->who ? xfer->who : "", filename, purple_xfer_get_size_wrapped(xfer));
}
}