38 lines
1.2 KiB
Diff
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
|
||
|
|