From c9db2fb9497e4605183e0c5b124403bf4f5e76ba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Degros?= <fdegros@chromium.org>
Date: Wed, 2 Sep 2020 19:52:36 +1000
Subject: [PATCH] No symlinks

Do not show symbolic links recorded in the ZIP.
Pretend they don't exist.
---
 lib/fuse-zip.cpp    | 2 ++
 lib/fuseZipData.cpp | 4 ++++
 2 files changed, 6 insertions(+)

diff --git a/lib/fuse-zip.cpp b/lib/fuse-zip.cpp
index 113065c..7c33999 100644
--- a/lib/fuse-zip.cpp
+++ b/lib/fuse-zip.cpp
@@ -606,6 +606,8 @@ int fusezip_access(const char *, int) {
 }
 
 int fusezip_readlink(const char *path, char *buf, size_t size) {
+    return -ENOENT;
+
     if (*path == '\0') {
         return -ENOENT;
     }
diff --git a/lib/fuseZipData.cpp b/lib/fuseZipData.cpp
index bdddb94..6d5d498 100644
--- a/lib/fuseZipData.cpp
+++ b/lib/fuseZipData.cpp
@@ -123,6 +123,8 @@ void FuseZipData::build_tree(bool readonly) {
 
         const char *const name = sb.name;
         mode_t mode = getEntryAttributes(id, name, isHardlink);
+        if (S_ISLNK(mode))
+            continue;
         
         if (isHardlink)
             continue;
@@ -154,6 +156,8 @@ void FuseZipData::build_tree(bool readonly) {
         bool isHardlink;
         const char *name = zip_get_name(m_zip, id, ZIP_FL_ENC_GUESS);
         mode_t mode = getEntryAttributes(id, name, isHardlink);
+        if (S_ISLNK(mode))
+            continue;
 
         if (!isHardlink)
             continue;
-- 
2.29.1.341.ge80a0c044ae-goog

