[tracker/tracker-0.6] Check if the sym link can be followed



commit b7d0975a74e4479a1ece8883bc215152a8ad9448
Author: Ivan Frade <ivan frade nokia com>
Date:   Thu May 14 13:37:30 2009 +0300

    Check if the sym link can be followed
    
    Check if a link can be followed. In some cases (.../proc/... symbolic links,
    present in chroot envs, scratchbox, etc.) link_path was NULL and caused
    a SEGFAULT in g_filename_to_utf8.
    
    (specially in ..../proc/... symbolic link)
---
 .../tracker-module-metadata-utils.c                |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/tracker-indexer/tracker-module-metadata-utils.c b/src/tracker-indexer/tracker-module-metadata-utils.c
index 8e15ccf..4e8bdd7 100644
--- a/src/tracker-indexer/tracker-module-metadata-utils.c
+++ b/src/tracker-indexer/tracker-module-metadata-utils.c
@@ -882,15 +882,17 @@ tracker_module_metadata_utils_get_data (GFile *file)
 
 	if (S_ISLNK (st.st_mode)) {
 		gchar *link_path;
-		gchar *link_path_delimited;
 
 		link_path = g_file_read_link (path, NULL);
-		link_path_delimited = g_filename_to_utf8 (link_path, -1, NULL, NULL, NULL);
+		if (link_path) {
+			gchar *link_path_delimited;
+			link_path_delimited = g_filename_to_utf8 (link_path, -1, NULL, NULL, NULL);
 
-		tracker_module_metadata_add_string (metadata, METADATA_FILE_LINK, link_path_delimited);
+			tracker_module_metadata_add_string (metadata, METADATA_FILE_LINK, link_path_delimited);
 
-		g_free (link_path_delimited);
-		g_free (link_path);
+			g_free (link_path_delimited);
+			g_free (link_path);
+		}
 	}
 
 	tracker_module_metadata_add_uint (metadata, METADATA_FILE_SIZE, st.st_size);



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