[tracker/wip/sam/resource: 1/7] tracker-extract: Fix error handling in tracker-extract-persistance
- From: Sam Thursfield <sthursfield src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/wip/sam/resource: 1/7] tracker-extract: Fix error handling in tracker-extract-persistance
- Date: Thu, 7 Apr 2016 14:24:05 +0000 (UTC)
commit b79daed49b06a2f7a90b20f26dddebd9c0ff53df
Author: Sam Thursfield <sam afuera me uk>
Date: Thu Apr 7 12:01:38 2016 +0100
tracker-extract: Fix error handling in tracker-extract-persistance
A couple of GCC warnings highlighted the fact that in case of error,
this code would pass uninitialised string pointers to g_critical().
src/tracker-extract/tracker-extract-persistence.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
---
diff --git a/src/tracker-extract/tracker-extract-persistence.c
b/src/tracker-extract/tracker-extract-persistence.c
index ee9ebf1..1dc5427 100644
--- a/src/tracker-extract/tracker-extract-persistence.c
+++ b/src/tracker-extract/tracker-extract-persistence.c
@@ -99,6 +99,7 @@ persistence_symlink_get_file (GFileInfo *info)
GFile *file = NULL;
guint n_retries;
+ symlink_name = g_file_info_get_name (info);
symlink_target = g_file_info_get_symlink_target (info);
if (!g_path_is_absolute (symlink_target)) {
@@ -107,7 +108,6 @@ persistence_symlink_get_file (GFileInfo *info)
return NULL;
}
- symlink_name = g_file_info_get_name (info);
md5 = g_compute_checksum_for_string (G_CHECKSUM_MD5, symlink_target, -1);
items = g_strsplit (symlink_name, "-", 2);
n_retries = g_strtod (items[0], NULL);
@@ -199,14 +199,13 @@ persistence_retrieve_files (TrackerExtractPersistence *persistence,
while ((info = g_file_enumerator_next_file (enumerator, NULL, NULL)) != NULL) {
GFile *file, *symlink_file;
- gchar *symlink_name;
guint n_retries;
symlink_file = g_file_enumerator_get_child (enumerator, info);
file = persistence_symlink_get_file (info);
if (!file) {
- g_critical ("Symlink has bad format: %s\n", symlink_name);
+ /* If we got here, persistence_symlink_get_file() already emitted a g_critical */
g_object_unref (symlink_file);
g_object_unref (info);
continue;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]