summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2021-10-23 19:54:09 +0200
committerCarlos Garnacho <carlosg@gnome.org>2021-10-23 20:12:50 +0200
commit941fd6f44c6f34e93bb38acc31fd3496618d2855 (patch)
treeb2743d7e982ddf9ae42a42a0202b42005adf1c4e
parentae37000541534733d68ec0f6ba3cc8aad1dbef7a (diff)
downloadtracker-941fd6f44c6f34e93bb38acc31fd3496618d2855.tar.gz
libtracker-data: Avoid propagating errors based on uninitialized vars
If we fail to open the file entirely, we still would try to report an error containing line/col info, even though these are not even initialized. Shuffle the code so we only report line/col for errors resulting during parsing, and handle the open error separately. CIDs: #1507946, #1507948
-rw-r--r--src/libtracker-data/tracker-data-update.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/libtracker-data/tracker-data-update.c b/src/libtracker-data/tracker-data-update.c
index 7aa28d509..c94fdc532 100644
--- a/src/libtracker-data/tracker-data-update.c
+++ b/src/libtracker-data/tracker-data-update.c
@@ -3121,11 +3121,11 @@ tracker_data_load_turtle_file (TrackerData *data,
const gchar *subject, *predicate, *object_str, *langtag;
gboolean object_is_uri;
goffset last_parsed_line_no, last_parsed_column_no;
- gchar *ontology_uri = g_file_get_uri (file);
+ gchar *ontology_uri;
- reader = tracker_turtle_reader_new_for_file (file, &inner_error);
- if (inner_error)
- goto failed;
+ reader = tracker_turtle_reader_new_for_file (file, error);
+ if (!reader)
+ return;
while (tracker_turtle_reader_next (reader,
&subject,
@@ -3161,10 +3161,6 @@ tracker_data_load_turtle_file (TrackerData *data,
goto failed;
}
- if (inner_error)
- goto failed;
-
- g_free (ontology_uri);
g_clear_object (&reader);
return;
@@ -3172,10 +3168,10 @@ tracker_data_load_turtle_file (TrackerData *data,
failed:
g_clear_object (&reader);
+ ontology_uri = g_file_get_uri (file);
g_propagate_prefixed_error (error, inner_error,
"%s:%" G_GOFFSET_FORMAT ":%" G_GOFFSET_FORMAT ": ",
ontology_uri, last_parsed_line_no, last_parsed_column_no);
-
g_free (ontology_uri);
}