From 767415da97a7fae3c5578b9a4fb17a7be041d8ae Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik Date: Fri, 31 Aug 2018 09:17:17 +0200 Subject: [PATCH] Avoid crash by not checking free space for smb:// This isn't a real location but the overview of all found hosts. smbc_opendir would succeed but then crash in smbc_fstatvfs Differential Revision: https://phabricator.kde.org/D15142 (cherry picked from commit 000b1d910b71b491621c7cdbd934c277171c20bf) --- smb/kio_smb_browse.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/smb/kio_smb_browse.cpp b/smb/kio_smb_browse.cpp index 47b2b328..1fa0e6fb 100644 --- a/smb/kio_smb_browse.cpp +++ b/smb/kio_smb_browse.cpp @@ -492,6 +492,14 @@ void SMBSlave::fileSystemFreeSpace(const QUrl& url) { qCDebug(KIO_SMB) << url; + // Avoid crashing in smbc_fstatvfs below when + // requesting free space for smb:// which doesn't + // make sense to do to begin with + if (url.host().isEmpty()) { + error(KIO::ERR_COULD_NOT_STAT, url.url()); + return; + } + SMBUrl smbcUrl = url; int handle = smbc_opendir(smbcUrl.toSmbcUrl()); if (handle < 0) { -- 2.19.1