diff options
Diffstat (limited to 'kde-misc/kio-fuse/files')
-rw-r--r-- | kde-misc/kio-fuse/files/kio-fuse-5.0.0-fix-segfault-on-links-1.patch | 32 | ||||
-rw-r--r-- | kde-misc/kio-fuse/files/kio-fuse-5.0.0-fix-segfault-on-links-2.patch | 49 |
2 files changed, 0 insertions, 81 deletions
diff --git a/kde-misc/kio-fuse/files/kio-fuse-5.0.0-fix-segfault-on-links-1.patch b/kde-misc/kio-fuse/files/kio-fuse-5.0.0-fix-segfault-on-links-1.patch deleted file mode 100644 index 7ef61ca22028..000000000000 --- a/kde-misc/kio-fuse/files/kio-fuse-5.0.0-fix-segfault-on-links-1.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 1ee510baa80c834bbcf77a008e5668dbf3eccf4d Mon Sep 17 00:00:00 2001 -From: Alexander Saoutkin <a.saoutkin@gmail.com> -Date: Sat, 2 Jan 2021 20:01:16 +0000 -Subject: [PATCH] Check return value of createNodeFromUDSEntry() - -createNodeFromUDSEntry() can return a nullptr, which it does when -passed any URL from the baloosearch protocol. - -BUG: 431079 ---- - kiofusevfs.cpp | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/kiofusevfs.cpp b/kiofusevfs.cpp -index 6f275cb..fbf6e27 100644 ---- a/kiofusevfs.cpp -+++ b/kiofusevfs.cpp -@@ -393,6 +393,11 @@ void KIOFuseVFS::findAndCreateOrigin(QUrl url, QStringList pathElements, std::fu - if(!finalNode) - { - finalNode = createNodeFromUDSEntry(statJob->statResult(), currentNode->m_stat.st_ino, targetPathComponents.last()); -+ if(!finalNode) -+ { -+ qWarning(KIOFUSE_LOG) << "Unable to create a valid final node for" << url << "from its UDS Entry"; -+ return callback({}, EIO); -+ } - insertNode(finalNode); - } - --- -GitLab - diff --git a/kde-misc/kio-fuse/files/kio-fuse-5.0.0-fix-segfault-on-links-2.patch b/kde-misc/kio-fuse/files/kio-fuse-5.0.0-fix-segfault-on-links-2.patch deleted file mode 100644 index a16da6d75357..000000000000 --- a/kde-misc/kio-fuse/files/kio-fuse-5.0.0-fix-segfault-on-links-2.patch +++ /dev/null @@ -1,49 +0,0 @@ -From d69959e226b1b49a1fc2d1a566acd4fdde0f97c3 Mon Sep 17 00:00:00 2001 -From: Fabian Vogt <fabian@ritter-vogt.de> -Date: Thu, 7 Jan 2021 22:46:19 +0100 -Subject: [PATCH] UDS_URL is not meant for links, Use UDS_TARGET_URL instead - -The KIO documentation for UDS_URL says: -`use UDS_TARGET_URL if you want "links" to unrelated urls.` -So the use of UDS_URL here was probably wrong. -Switching to UDS_TARGET_URL fixes mounting of some slaves such as baloosearch, -which set UDS_URL to the URL of the entry itself for some reason. - -BUG: 431079 ---- - kiofusevfs.cpp | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/kiofusevfs.cpp b/kiofusevfs.cpp -index fbf6e27..5c775b7 100644 ---- a/kiofusevfs.cpp -+++ b/kiofusevfs.cpp -@@ -1736,12 +1736,12 @@ std::shared_ptr<KIOFuseNode> KIOFuseVFS::createNodeFromUDSEntry(const KIO::UDSEn - attr.st_gid = gr->gr_gid; - } - -- if(entry.contains(KIO::UDSEntry::UDS_LOCAL_PATH) || entry.contains(KIO::UDSEntry::UDS_URL)) -+ if(entry.contains(KIO::UDSEntry::UDS_LOCAL_PATH) || entry.contains(KIO::UDSEntry::UDS_TARGET_URL)) - { - // Create as symlink if possible - QString target = entry.stringValue(KIO::UDSEntry::UDS_LOCAL_PATH); - if(target.isEmpty()) -- target = QUrl(entry.stringValue(KIO::UDSEntry::UDS_URL)).toLocalFile(); -+ target = QUrl(entry.stringValue(KIO::UDSEntry::UDS_TARGET_URL)).toLocalFile(); - - if(!target.isEmpty()) - { -@@ -1760,7 +1760,9 @@ std::shared_ptr<KIOFuseNode> KIOFuseVFS::createNodeFromUDSEntry(const KIO::UDSEn - { - attr.st_mode |= S_IFREG; - std::shared_ptr<KIOFuseRemoteFileNode> ret = nullptr; -- const QUrl nodeUrl = QUrl{entry.stringValue(KIO::UDSEntry::UDS_URL)}; -+ const QUrl nodeUrl = QUrl{entry.stringValue(KIO::UDSEntry::UDS_TARGET_URL)}; -+ if(nodeUrl.isEmpty()) -+ return nullptr; - if(m_useFileJob && KProtocolManager::supportsOpening(nodeUrl) && KProtocolManager::supportsTruncating(nodeUrl)) - ret = std::make_shared<KIOFuseRemoteFileJobBasedFileNode>(parentIno, name, attr); - else --- -GitLab - |