summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2021-04-01 13:34:05 +0000
committerCarlos Garnacho <carlosg@gnome.org>2021-04-01 13:34:05 +0000
commit36718a22631b7e14f2225af19ef63e9bc66448d2 (patch)
treeeb83bbd02ea1f70144e3196693d247e21663ef90
parent305eb963a07ccea500e0e19170fc47bf67d1e9da (diff)
parent4dfe849cafa3a1bcb4336913f210ca193cdaa1c5 (diff)
downloadtracker-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.c2
-rw-r--r--src/libtracker-data/tracker-data-manager.c33
-rw-r--r--src/libtracker-data/tracker-db-interface-sqlite.c7
-rw-r--r--src/libtracker-data/tracker-sparql.c8
-rw-r--r--src/libtracker-data/tracker-vtab-triples.c4
-rw-r--r--src/libtracker-fts/tracker-fts.c3
-rw-r--r--src/libtracker-sparql/tracker-endpoint-dbus.c1
-rw-r--r--src/libtracker-sparql/tracker-error.c4
-rw-r--r--src/libtracker-sparql/tracker-namespace-manager.c4
-rw-r--r--src/portal/tracker-main.c1
-rw-r--r--src/portal/tracker-portal.c4
-rw-r--r--src/tracker/tracker-help.c8
-rw-r--r--tests/libtracker-data/tracker-service-test.c4
-rw-r--r--tests/libtracker-sparql/tracker-fd-test.c5
-rw-r--r--tests/libtracker-sparql/tracker-statement-test.c4
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;
}