diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2021-10-23 19:54:09 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2021-10-23 20:12:50 +0200 |
commit | 941fd6f44c6f34e93bb38acc31fd3496618d2855 (patch) | |
tree | b2743d7e982ddf9ae42a42a0202b42005adf1c4e | |
parent | ae37000541534733d68ec0f6ba3cc8aad1dbef7a (diff) | |
download | tracker-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.c | 14 |
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); } |