diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2021-04-01 13:34:05 +0000 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2021-04-01 13:34:05 +0000 |
commit | 36718a22631b7e14f2225af19ef63e9bc66448d2 (patch) | |
tree | eb83bbd02ea1f70144e3196693d247e21663ef90 | |
parent | 305eb963a07ccea500e0e19170fc47bf67d1e9da (diff) | |
parent | 4dfe849cafa3a1bcb4336913f210ca193cdaa1c5 (diff) | |
download | tracker-36718a22631b7e14f2225af19ef63e9bc66448d2.tar.gz |
Merge branch 'wip/carlosg/coverity-warnings' into 'master'
Fix some coverity warnings
See merge request GNOME/tracker!384
-rw-r--r-- | src/libtracker-common/tracker-language.c | 2 | ||||
-rw-r--r-- | src/libtracker-data/tracker-data-manager.c | 33 | ||||
-rw-r--r-- | src/libtracker-data/tracker-db-interface-sqlite.c | 7 | ||||
-rw-r--r-- | src/libtracker-data/tracker-sparql.c | 8 | ||||
-rw-r--r-- | src/libtracker-data/tracker-vtab-triples.c | 4 | ||||
-rw-r--r-- | src/libtracker-fts/tracker-fts.c | 3 | ||||
-rw-r--r-- | src/libtracker-sparql/tracker-endpoint-dbus.c | 1 | ||||
-rw-r--r-- | src/libtracker-sparql/tracker-error.c | 4 | ||||
-rw-r--r-- | src/libtracker-sparql/tracker-namespace-manager.c | 4 | ||||
-rw-r--r-- | src/portal/tracker-main.c | 1 | ||||
-rw-r--r-- | src/portal/tracker-portal.c | 4 | ||||
-rw-r--r-- | src/tracker/tracker-help.c | 8 | ||||
-rw-r--r-- | tests/libtracker-data/tracker-service-test.c | 4 | ||||
-rw-r--r-- | tests/libtracker-sparql/tracker-fd-test.c | 5 | ||||
-rw-r--r-- | tests/libtracker-sparql/tracker-statement-test.c | 4 |
15 files changed, 54 insertions, 38 deletions
diff --git a/src/libtracker-common/tracker-language.c b/src/libtracker-common/tracker-language.c index dc51e0576..42bac1176 100644 --- a/src/libtracker-common/tracker-language.c +++ b/src/libtracker-common/tracker-language.c @@ -298,7 +298,7 @@ language_set_stopword_list (TrackerLanguage *language, language_add_stopwords (language, stopword_filename); g_free (stopword_filename); - if (!language_code || strcmp (language_code, "en") != 0) { + if (g_strcmp0 (language_code, "en") != 0) { stopword_filename = language_get_stopword_filename ("en"); language_add_stopwords (language, stopword_filename); g_free (stopword_filename); diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c index 67f97e687..2be94685d 100644 --- a/src/libtracker-data/tracker-data-manager.c +++ b/src/libtracker-data/tracker-data-manager.c @@ -406,10 +406,8 @@ set_index_for_multi_value_property (TrackerDBInterface *iface, service_name, field_name); - if (internal_error) { - g_propagate_error (error, internal_error); - return; - } + if (internal_error) + goto out; TRACKER_NOTE (ONTOLOGY_CHANGES, g_message ("Creating index (multi-value property): " @@ -425,10 +423,8 @@ set_index_for_multi_value_property (TrackerDBInterface *iface, field_name, expr); - if (internal_error) { - g_propagate_error (error, internal_error); - return; - } + if (internal_error) + goto out; } else { TRACKER_NOTE (ONTOLOGY_CHANGES, g_message ("Creating index (multi-value property): " @@ -444,9 +440,13 @@ set_index_for_multi_value_property (TrackerDBInterface *iface, field_name, expr); - if (internal_error) { - g_propagate_error (error, internal_error); - } + if (internal_error) + goto out; + } + +out: + if (internal_error) { + g_propagate_error (error, internal_error); } g_free (expr); @@ -2951,7 +2951,7 @@ create_decomposed_metadata_tables (TrackerDataManager *manager, put_change = TRUE; } - if (in_change && put_change) { + if (in_change && put_change && in_col_sql && sel_col_sql) { range_change_for (property, in_col_sql, sel_col_sql, field_name); } } @@ -3020,13 +3020,12 @@ create_decomposed_metadata_tables (TrackerDataManager *manager, TRACKER_NOTE (ONTOLOGY_CHANGES, g_message ("Copy: %s", query)); tracker_db_interface_execute_query (iface, &internal_error, "%s", query); + g_free (query); if (internal_error) { g_propagate_error (error, internal_error); goto error_out; } - - g_free (query); for (i = 0; i < n_props; i++) { property = properties[i]; @@ -4449,13 +4448,13 @@ data_manager_perform_cleanup (TrackerDataManager *manager, const gchar *graph; GString *str; - str = g_string_new ("WITH referencedElements(ID) AS (" - "SELECT ID FROM \"main\".Refcount "); - graphs = tracker_data_manager_ensure_graphs (manager, iface, &internal_error); if (!graphs) goto fail; + str = g_string_new ("WITH referencedElements(ID) AS (" + "SELECT ID FROM \"main\".Refcount "); + g_hash_table_iter_init (&iter, graphs); while (g_hash_table_iter_next (&iter, (gpointer*) &graph, NULL)) { diff --git a/src/libtracker-data/tracker-db-interface-sqlite.c b/src/libtracker-data/tracker-db-interface-sqlite.c index 0be15c283..367585192 100644 --- a/src/libtracker-data/tracker-db-interface-sqlite.c +++ b/src/libtracker-data/tracker-db-interface-sqlite.c @@ -1399,7 +1399,7 @@ function_sparql_normalize (sqlite3_context *context, char zBuf[128]; sqlite3_snprintf (128, zBuf, "ICU error: unorm_normalize: %s", u_errorName (status)); zBuf[127] = '\0'; - sqlite3_free (zOutput); + g_free (zOutput); result_context_function_error (context, fn, zBuf); return; } @@ -1439,7 +1439,7 @@ function_sparql_unaccent (sqlite3_context *context, char zBuf[128]; sqlite3_snprintf (128, zBuf, "ICU error: unorm_normalize: %s", u_errorName (status)); zBuf[127] = '\0'; - sqlite3_free (zOutput); + g_free (zOutput); result_context_function_error (context, fn, zBuf); return; } @@ -3819,8 +3819,9 @@ tracker_db_interface_detach_database (TrackerDBInterface *db_interface, gchar *sql; sql = g_strdup_printf ("DETACH DATABASE \"%s\"", name); - stmt = tracker_db_interface_prepare_stmt (db_interface, sql, error); + g_free (sql); + if (!stmt) return FALSE; diff --git a/src/libtracker-data/tracker-sparql.c b/src/libtracker-data/tracker-sparql.c index 28c73bf6c..fd9ca99dc 100644 --- a/src/libtracker-data/tracker-sparql.c +++ b/src/libtracker-data/tracker-sparql.c @@ -1627,7 +1627,6 @@ _add_quad (TrackerSparql *sparql, tracker_binding_set_db_column_name (binding, "fts5"); tracker_select_context_add_literal_binding (TRACKER_SELECT_CONTEXT (sparql->context), TRACKER_LITERAL_BINDING (binding)); - g_object_unref (binding); fts_table = tracker_sparql_add_fts_subquery (sparql, graph, subject, TRACKER_LITERAL_BINDING (binding)); @@ -1635,6 +1634,7 @@ _add_quad (TrackerSparql *sparql, db_table = fts_table; share_table = FALSE; is_fts = TRUE; + g_object_unref (binding); } else if (property != NULL) { db_table = tracker_property_get_table_name (property); @@ -9455,13 +9455,17 @@ tracker_sparql_new (TrackerDataManager *manager, &sparql->parser_error); if (tree) { TrackerSparqlState state = { 0 }; + GError *internal_error = NULL; sparql->tree = tree; sparql->current_state = &state; sparql->current_state->node = tracker_node_tree_get_root (sparql->tree); tracker_sparql_init_string_builder (sparql); - _call_rule_func (sparql, NAMED_RULE_Query, &sparql->parser_error); + + if (!_call_rule_func (sparql, NAMED_RULE_Query, &internal_error)) + g_propagate_error (&sparql->parser_error, internal_error); + sparql->current_state = NULL; tracker_sparql_state_clear (&state); diff --git a/src/libtracker-data/tracker-vtab-triples.c b/src/libtracker-data/tracker-vtab-triples.c index a81709cd0..081566ae0 100644 --- a/src/libtracker-data/tracker-vtab-triples.c +++ b/src/libtracker-data/tracker-vtab-triples.c @@ -192,7 +192,7 @@ triples_best_index (sqlite3_vtab *vtab, continue; if (info->aConstraint[i].iColumn == COL_ROWID) { - g_free (idx_str); + sqlite3_free (idx_str); return SQLITE_ERROR; } @@ -201,7 +201,7 @@ triples_best_index (sqlite3_vtab *vtab, info->aConstraint[i].op != SQLITE_INDEX_CONSTRAINT_NE && info->aConstraint[i].op != SQLITE_INDEX_CONSTRAINT_ISNULL && info->aConstraint[i].op != SQLITE_INDEX_CONSTRAINT_ISNOTNULL) { - g_free (idx_str); + sqlite3_free (idx_str); return SQLITE_ERROR; } diff --git a/src/libtracker-fts/tracker-fts.c b/src/libtracker-fts/tracker-fts.c index 55211fb81..f3805e4d0 100644 --- a/src/libtracker-fts/tracker-fts.c +++ b/src/libtracker-fts/tracker-fts.c @@ -163,7 +163,6 @@ tracker_fts_create_table (sqlite3 *db, g_string_append (fts, "tokenize=TrackerTokenizer)"); rc = sqlite3_exec(db, fts->str, NULL, NULL, NULL); - g_string_free (fts, TRUE); if (rc != SQLITE_OK) goto error; @@ -176,6 +175,8 @@ tracker_fts_create_table (sqlite3 *db, g_string_free (str, TRUE); error: + g_string_free (fts, TRUE); + if (rc != SQLITE_OK) { g_set_error (error, TRACKER_DB_INTERFACE_ERROR, diff --git a/src/libtracker-sparql/tracker-endpoint-dbus.c b/src/libtracker-sparql/tracker-endpoint-dbus.c index b8bf3c604..fb3d8b7bc 100644 --- a/src/libtracker-sparql/tracker-endpoint-dbus.c +++ b/src/libtracker-sparql/tracker-endpoint-dbus.c @@ -635,6 +635,7 @@ endpoint_dbus_iface_method_call (GDBusConnection *connection, /* Statements are single use here... */ g_object_unref (stmt); } else { + query_request_free (request); g_dbus_method_invocation_return_gerror (invocation, error); } diff --git a/src/libtracker-sparql/tracker-error.c b/src/libtracker-sparql/tracker-error.c index 849aa87db..78e08bd90 100644 --- a/src/libtracker-sparql/tracker-error.c +++ b/src/libtracker-sparql/tracker-error.c @@ -75,9 +75,7 @@ _translate_internal_error (GError *error) TRACKER_SPARQL_ERROR_INTERNAL, error->message); } - } - - if (error->domain == TRACKER_DB_INTERFACE_ERROR) { + } else if (error->domain == TRACKER_DB_INTERFACE_ERROR) { TrackerSparqlError new_code = TRACKER_SPARQL_ERROR_INTERNAL; switch (error->code) { diff --git a/src/libtracker-sparql/tracker-namespace-manager.c b/src/libtracker-sparql/tracker-namespace-manager.c index e9b2456fd..6a4ebc315 100644 --- a/src/libtracker-sparql/tracker-namespace-manager.c +++ b/src/libtracker-sparql/tracker-namespace-manager.c @@ -300,7 +300,7 @@ char * tracker_namespace_manager_print_turtle (TrackerNamespaceManager *self) { TrackerNamespaceManagerPrivate *priv; - GString *result = g_string_new (""); + GString *result; GHashTableIter iter; const char *prefix; const char *namespace; @@ -309,6 +309,8 @@ tracker_namespace_manager_print_turtle (TrackerNamespaceManager *self) priv = GET_PRIVATE (self); + result = g_string_new (""); + g_hash_table_iter_init (&iter, priv->prefix_to_namespace); while (g_hash_table_iter_next (&iter, (gpointer *)&prefix, (gpointer *)&namespace)) { g_string_append_printf (result, "@prefix %s: <%s> .\n", prefix, namespace); diff --git a/src/portal/tracker-main.c b/src/portal/tracker-main.c index 8c0429c76..182d3e509 100644 --- a/src/portal/tracker-main.c +++ b/src/portal/tracker-main.c @@ -107,7 +107,6 @@ main (int argc, char *argv[]) if (!g_option_context_parse (context, &argc, (char***) &argv, &error)) { g_printerr ("%s, %s\n", _("Unrecognized options"), error->message); - g_error_free (error); return EXIT_FAILURE; } diff --git a/src/portal/tracker-portal.c b/src/portal/tracker-portal.c index 4faeaae0b..1fdb48087 100644 --- a/src/portal/tracker-portal.c +++ b/src/portal/tracker-portal.c @@ -213,7 +213,7 @@ load_client_configuration (TrackerPortal *portal, GError **error) { g_autoptr (GKeyFile) flatpak_info = NULL; - GError *inner_error = NULL; + g_autoptr(GError) inner_error = NULL; GStrv graphs; if (portal->test_flatpak_info) { @@ -229,7 +229,7 @@ load_client_configuration (TrackerPortal *portal, } if (!flatpak_info) { - GStrv default_graphs = { NULL }; + gchar *default_graphs[] = { NULL }; if (inner_error) { g_warning ("Error reading .flatpak-info."); diff --git a/src/tracker/tracker-help.c b/src/tracker/tracker-help.c index efefb63e7..072d4f5a0 100644 --- a/src/tracker/tracker-help.c +++ b/src/tracker/tracker-help.c @@ -89,7 +89,8 @@ cmd_to_page (const char *cmd) int tracker_help_show_man_page (const char *cmd) { - const char *page = cmd_to_page (cmd); + char *page = cmd_to_page (cmd); + int retval; setup_man_path (); @@ -97,6 +98,9 @@ tracker_help_show_man_page (const char *cmd) exec_man_cmd ("man", page); } - return exec_man_man ("man", page); + retval = exec_man_man ("man", page); + g_free (page); + + return retval; } diff --git a/tests/libtracker-data/tracker-service-test.c b/tests/libtracker-data/tracker-service-test.c index 5fd33e3f9..b0fb49615 100644 --- a/tests/libtracker-data/tracker-service-test.c +++ b/tests/libtracker-data/tracker-service-test.c @@ -184,6 +184,7 @@ test_sparql_query (TestInfo *test_info, gchar *results_filename; gchar *prefix, *test_prefix; GFile *ontology; + GThread *thread; /* initialization */ prefix = g_build_filename (TOP_SRCDIR, "tests", "libtracker-data", NULL); @@ -198,7 +199,7 @@ test_sparql_query (TestInfo *test_info, remote = tracker_sparql_connection_new (0, NULL, ontology, NULL, &error); g_assert_no_error (error); - g_thread_new (NULL, thread_func, remote); + thread = g_thread_new (NULL, thread_func, remote); while (!endpoint) { g_usleep (100); } @@ -230,6 +231,7 @@ test_sparql_query (TestInfo *test_info, g_clear_object (&local); g_clear_object (&remote); g_clear_object (&endpoint); + g_thread_unref (thread); } static void diff --git a/tests/libtracker-sparql/tracker-fd-test.c b/tests/libtracker-sparql/tracker-fd-test.c index d65e1651a..7b49990ea 100644 --- a/tests/libtracker-sparql/tracker-fd-test.c +++ b/tests/libtracker-sparql/tracker-fd-test.c @@ -751,18 +751,21 @@ create_dbus_connection (GError **error) { TrackerSparqlConnection *dbus; GDBusConnection *dbus_conn; + GThread *thread; dbus_conn = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, error); if (!dbus_conn) return NULL; - g_thread_new (NULL, thread_func, dbus_conn); + thread = g_thread_new (NULL, thread_func, dbus_conn); while (!started) g_usleep (100); dbus = tracker_sparql_connection_bus_new (g_dbus_connection_get_unique_name (dbus_conn), NULL, dbus_conn, error); + g_thread_unref (thread); + return dbus; } diff --git a/tests/libtracker-sparql/tracker-statement-test.c b/tests/libtracker-sparql/tracker-statement-test.c index b6337ea86..a66bb1281 100644 --- a/tests/libtracker-sparql/tracker-statement-test.c +++ b/tests/libtracker-sparql/tracker-statement-test.c @@ -244,6 +244,7 @@ create_connections (TrackerSparqlConnection **dbus, GError **error) { StartupData data; + GThread *thread; data.direct = create_local_connection (NULL); if (!data.direct) @@ -252,7 +253,7 @@ create_connections (TrackerSparqlConnection **dbus, if (!data.dbus_conn) return FALSE; - g_thread_new (NULL, thread_func, &data); + thread = g_thread_new (NULL, thread_func, &data); while (!started) g_usleep (100); @@ -261,6 +262,7 @@ create_connections (TrackerSparqlConnection **dbus, *dbus = tracker_sparql_connection_bus_new (bus_name, NULL, data.dbus_conn, error); *direct = create_local_connection (error); + g_thread_unref (thread); return TRUE; } |