[gnome-builder] flatpak: don't follow through symlinks



commit d8134672151700b735b8ef3947eeffc980a2960a
Author: Christian Hergert <chergert redhat com>
Date:   Thu Jan 25 00:11:50 2018 -0800

    flatpak: don't follow through symlinks

 src/plugins/flatpak/gbp-flatpak-build-system-discovery.c | 4 ++++
 src/plugins/flatpak/gbp-flatpak-configuration-provider.c | 5 +++++
 2 files changed, 9 insertions(+)
---
diff --git a/src/plugins/flatpak/gbp-flatpak-build-system-discovery.c 
b/src/plugins/flatpak/gbp-flatpak-build-system-discovery.c
index 8a9cc013f..30f295951 100644
--- a/src/plugins/flatpak/gbp-flatpak-build-system-discovery.c
+++ b/src/plugins/flatpak/gbp-flatpak-build-system-discovery.c
@@ -50,6 +50,7 @@ gbp_flatpak_build_system_discovery_find_manifests (GFile        *directory,
   g_assert (depth < DISCOVERY_MAX_DEPTH);
 
   enumerator = g_file_enumerate_children (directory,
+                                          G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK","
                                           G_FILE_ATTRIBUTE_STANDARD_NAME","
                                           G_FILE_ATTRIBUTE_STANDARD_TYPE,
                                           G_FILE_QUERY_INFO_NONE,
@@ -65,6 +66,9 @@ gbp_flatpak_build_system_discovery_find_manifests (GFile        *directory,
       GFileType file_type;
       const gchar *name;
 
+      if (g_file_info_get_is_symlink (info))
+        continue;
+
       if (NULL == (name = g_file_info_get_name (info)))
         continue;
 
diff --git a/src/plugins/flatpak/gbp-flatpak-configuration-provider.c 
b/src/plugins/flatpak/gbp-flatpak-configuration-provider.c
index 97db3fc07..1d0ab9c39 100644
--- a/src/plugins/flatpak/gbp-flatpak-configuration-provider.c
+++ b/src/plugins/flatpak/gbp-flatpak-configuration-provider.c
@@ -780,6 +780,8 @@ gbp_flatpak_configuration_provider_find_manifests (GbpFlatpakConfigurationProvid
   g_assert (IDE_IS_CONTEXT (context));
 
   enumerator = g_file_enumerate_children (directory,
+                                          G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK","
+                                          G_FILE_ATTRIBUTE_STANDARD_TYPE","
                                           G_FILE_ATTRIBUTE_STANDARD_NAME,
                                           G_FILE_QUERY_INFO_NONE,
                                           cancellable,
@@ -801,6 +803,9 @@ gbp_flatpak_configuration_provider_find_manifests (GbpFlatpakConfigurationProvid
       g_autoptr(GError) local_error = NULL;
       GFileType file_type;
 
+      if (g_file_info_get_is_symlink (file_info))
+        continue;
+
       file_type = g_file_info_get_file_type (file_info);
       filename = g_strdup (g_file_info_get_name (file_info));
       g_clear_object (&file_info);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]