kio-extras5/0001-Avoid-crash-by-not-checking-free-space-for-smb.patch

38 lines
1.2 KiB
Diff

From 767415da97a7fae3c5578b9a4fb17a7be041d8ae Mon Sep 17 00:00:00 2001
From: Kai Uwe Broulik <kde@privat.broulik.de>
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