summaryrefslogtreecommitdiff
path: root/gio
diff options
context:
space:
mode:
authorPhilip Withnall <philip@tecnocode.co.uk>2018-06-29 13:31:43 +0000
committerPhilip Withnall <philip@tecnocode.co.uk>2018-06-29 13:31:43 +0000
commit4dc927fc2f6881703c911c6bdec74a39bb42f329 (patch)
tree4b6e50d171c6374a1052fb3aba67fa84974ae4dd /gio
parent51132b1d49c184f49baafa81ce7fac02b1458643 (diff)
parentda44b78bef973d1a275a4878f230d993b15e6dc3 (diff)
downloadglib-4dc927fc2f6881703c911c6bdec74a39bb42f329.tar.gz
Merge branch 'ci-memcheck-preparation' into 'master'
Preparation for adding valgrind/memcheck to CI See merge request GNOME/glib!143
Diffstat (limited to 'gio')
-rw-r--r--gio/gbufferedoutputstream.c4
-rw-r--r--gio/gdesktopappinfo.c2
-rw-r--r--gio/glocalfile.c1
-rw-r--r--gio/tests/appinfo.c6
-rw-r--r--gio/tests/dbus-appinfo.c9
-rw-r--r--gio/tests/desktop-app-info.c9
-rw-r--r--gio/tests/file.c12
-rw-r--r--gio/tests/g-file-info-filesystem-readonly.c2
-rw-r--r--gio/tests/gdbus-peer-object-manager.c2
-rw-r--r--gio/tests/gdbus-peer.c4
-rw-r--r--gio/tests/resources.c4
-rw-r--r--gio/tests/simple-proxy.c1
-rw-r--r--gio/tests/task.c1
-rw-r--r--gio/tests/unix-streams.c2
14 files changed, 48 insertions, 11 deletions
diff --git a/gio/gbufferedoutputstream.c b/gio/gbufferedoutputstream.c
index 8b2bcdc04..98bda501d 100644
--- a/gio/gbufferedoutputstream.c
+++ b/gio/gbufferedoutputstream.c
@@ -699,7 +699,7 @@ g_buffered_output_stream_flush_async (GOutputStream *stream,
GTask *task;
FlushData *fdata;
- fdata = g_slice_new (FlushData);
+ fdata = g_slice_new0 (FlushData);
fdata->flush_stream = TRUE;
fdata->close_stream = FALSE;
@@ -732,7 +732,7 @@ g_buffered_output_stream_close_async (GOutputStream *stream,
GTask *task;
FlushData *fdata;
- fdata = g_slice_new (FlushData);
+ fdata = g_slice_new0 (FlushData);
fdata->close_stream = TRUE;
task = g_task_new (stream, cancellable, callback, data);
diff --git a/gio/gdesktopappinfo.c b/gio/gdesktopappinfo.c
index 617a096fb..d0ffbace3 100644
--- a/gio/gdesktopappinfo.c
+++ b/gio/gdesktopappinfo.c
@@ -4698,6 +4698,8 @@ g_desktop_app_info_launch_action (GDesktopAppInfo *info,
g_desktop_app_info_launch_uris_with_spawn (info, session_bus, exec_line, NULL, launch_context,
_SPAWN_FLAGS_DEFAULT, NULL, NULL, NULL, NULL,
-1, -1, -1, NULL);
+
+ g_free (exec_line);
}
if (session_bus != NULL)
diff --git a/gio/glocalfile.c b/gio/glocalfile.c
index 1c8fa42e8..83dff4342 100644
--- a/gio/glocalfile.c
+++ b/gio/glocalfile.c
@@ -1807,6 +1807,7 @@ _g_local_file_has_trash_dir (const char *dirname, dev_t dir_dev)
if (mount == NULL || g_unix_mount_is_system_internal (mount))
{
g_clear_pointer (&mount, g_unix_mount_free);
+ g_free (topdir);
return FALSE;
}
diff --git a/gio/tests/appinfo.c b/gio/tests/appinfo.c
index 2e69da051..ea4809d54 100644
--- a/gio/tests/appinfo.c
+++ b/gio/tests/appinfo.c
@@ -128,10 +128,10 @@ static void
test_locale (const char *locale)
{
GAppInfo *appinfo;
- const gchar *orig;
+ gchar *orig = NULL;
const gchar *path;
- orig = setlocale (LC_ALL, NULL);
+ orig = g_strdup (setlocale (LC_ALL, NULL));
g_setenv ("LANGUAGE", locale, TRUE);
setlocale (LC_ALL, "");
@@ -161,6 +161,7 @@ test_locale (const char *locale)
g_setenv ("LANGUAGE", orig, TRUE);
setlocale (LC_ALL, "");
+ g_free (orig);
}
static void
@@ -380,6 +381,7 @@ test_associations (void)
"cmdline-app-test",
G_APP_INFO_CREATE_SUPPORTS_URIS,
NULL);
+ g_free (cmdline);
error = NULL;
result = g_app_info_set_as_default_for_type (appinfo, "application/x-glib-test", &error);
diff --git a/gio/tests/dbus-appinfo.c b/gio/tests/dbus-appinfo.c
index ee73d5833..8961a5495 100644
--- a/gio/tests/dbus-appinfo.c
+++ b/gio/tests/dbus-appinfo.c
@@ -254,11 +254,14 @@ test_dbus_appinfo (void)
const gchar *argv[] = { "myapp", NULL };
TestApplication *app;
int status;
+ gchar *desktop_file = NULL;
- appinfo = g_desktop_app_info_new_from_filename (g_test_build_filename (G_TEST_DIST,
- "org.gtk.test.dbusappinfo.desktop",
- NULL));
+ desktop_file = g_test_build_filename (G_TEST_DIST,
+ "org.gtk.test.dbusappinfo.desktop",
+ NULL);
+ appinfo = g_desktop_app_info_new_from_filename (desktop_file);
g_assert (appinfo != NULL);
+ g_free (desktop_file);
app = g_object_new (test_application_get_type (),
"application-id", "org.gtk.test.dbusappinfo",
diff --git a/gio/tests/desktop-app-info.c b/gio/tests/desktop-app-info.c
index 639b27e18..4871d85a5 100644
--- a/gio/tests/desktop-app-info.c
+++ b/gio/tests/desktop-app-info.c
@@ -93,6 +93,8 @@ test_delete (void)
res = g_app_info_delete (info);
g_assert (!res);
}
+
+ g_free (filename);
}
static void
@@ -115,6 +117,7 @@ test_default (void)
info = g_app_info_get_default_for_type ("application/x-test", FALSE);
g_assert (info != NULL);
g_assert_cmpstr (g_app_info_get_id (info), ==, g_app_info_get_id (info2));
+ g_object_unref (info);
/* now try adding something, but not setting as default */
g_app_info_add_supports_type (info3, "application/x-test", &error);
@@ -124,6 +127,7 @@ test_default (void)
info = g_app_info_get_default_for_type ("application/x-test", FALSE);
g_assert (info != NULL);
g_assert_cmpstr (g_app_info_get_id (info), ==, g_app_info_get_id (info2));
+ g_object_unref (info);
/* now remove info1 again */
g_app_info_remove_supports_type (info1, "application/x-test", &error);
@@ -133,6 +137,7 @@ test_default (void)
info = g_app_info_get_default_for_type ("application/x-test", FALSE);
g_assert (info != NULL);
g_assert_cmpstr (g_app_info_get_id (info), ==, g_app_info_get_id (info2));
+ g_object_unref (info);
/* now clean it all up */
g_app_info_reset_type_associations ("application/x-test");
@@ -146,6 +151,7 @@ test_default (void)
g_object_unref (info1);
g_object_unref (info2);
+ g_object_unref (info3);
}
static void
@@ -324,6 +330,8 @@ cleanup_dir_recurse (GFile *parent,
ret = TRUE;
out:
+ g_clear_object (&enumerator);
+
return ret;
}
@@ -342,6 +350,7 @@ cleanup_subdirs (const char *base_dir)
(void) cleanup_dir_recurse (file, file, &error);
g_assert_no_error (error);
g_object_unref (file);
+ g_object_unref (base);
}
static void
diff --git a/gio/tests/file.c b/gio/tests/file.c
index 9d5a6e8cd..d2f147419 100644
--- a/gio/tests/file.c
+++ b/gio/tests/file.c
@@ -913,6 +913,13 @@ get_size_from_du (const gchar *path, guint64 *size)
gchar *result;
gchar *endptr;
GError *error = NULL;
+ gchar *du_path = NULL;
+
+ /* If we can’t find du, don’t try and run the test. */
+ du_path = g_find_program_in_path ("du");
+ if (du_path == NULL)
+ return FALSE;
+ g_free (du_path);
du = g_subprocess_new (G_SUBPROCESS_FLAGS_STDOUT_PIPE,
&error,
@@ -950,7 +957,7 @@ test_measure (void)
path = g_test_build_filename (G_TEST_DIST, "desktop-files", NULL);
file = g_file_new_for_path (path);
- if (!g_find_program_in_path ("du") || !get_size_from_du (path, &size))
+ if (!get_size_from_du (path, &size))
{
g_test_message ("du not found or fail to run, skipping byte measurement");
size = 0;
@@ -1052,8 +1059,7 @@ test_measure_async (void)
path = g_test_build_filename (G_TEST_DIST, "desktop-files", NULL);
file = g_file_new_for_path (path);
- if (!g_find_program_in_path ("du") ||
- !get_size_from_du (path, &data->expected_bytes))
+ if (!get_size_from_du (path, &data->expected_bytes))
{
g_test_message ("du not found or fail to run, skipping byte measurement");
data->expected_bytes = 0;
diff --git a/gio/tests/g-file-info-filesystem-readonly.c b/gio/tests/g-file-info-filesystem-readonly.c
index c2b0aa518..123dcd8a0 100644
--- a/gio/tests/g-file-info-filesystem-readonly.c
+++ b/gio/tests/g-file-info-filesystem-readonly.c
@@ -45,6 +45,8 @@ test_filesystem_readonly (gconstpointer with_mount_monitor)
{
/* We need these because "mount --bind" requires root privileges */
g_test_skip ("'bindfs' and 'fusermount' commands are needed to run this test");
+ g_free (fusermount);
+ g_free (bindfs);
return;
}
diff --git a/gio/tests/gdbus-peer-object-manager.c b/gio/tests/gdbus-peer-object-manager.c
index 933cc529d..676c9f080 100644
--- a/gio/tests/gdbus-peer-object-manager.c
+++ b/gio/tests/gdbus-peer-object-manager.c
@@ -258,6 +258,8 @@ setup (Test *test,
g_assert (test->server);
g_assert (test->client);
+
+ g_object_unref (stream);
}
static void
diff --git a/gio/tests/gdbus-peer.c b/gio/tests/gdbus-peer.c
index 101c2a8bb..7f35baae6 100644
--- a/gio/tests/gdbus-peer.c
+++ b/gio/tests/gdbus-peer.c
@@ -875,6 +875,7 @@ test_peer (void)
getuid ());
g_assert_cmpuint (g_credentials_get_unix_pid (credentials, NULL), ==,
getpid ());
+ g_object_unref (credentials);
#else
g_assert_error (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED);
g_assert (credentials == NULL);
@@ -1358,6 +1359,8 @@ test_nonce_tcp (void)
g_main_loop_quit (service_loop);
g_thread_join (service_thread);
+
+ g_ptr_array_unref (data.current_connections);
}
static void
@@ -1711,6 +1714,7 @@ codegen_test_peer (void)
* change notifications anyway because those are done from an idle handler
*/
example_animal_call_poke_sync (animal2, TRUE, TRUE, NULL, &error);
+ g_clear_error (&error);
g_object_unref (animal1);
g_object_unref (animal2);
diff --git a/gio/tests/resources.c b/gio/tests/resources.c
index 8163aa141..5d2e27474 100644
--- a/gio/tests/resources.c
+++ b/gio/tests/resources.c
@@ -547,7 +547,8 @@ test_uri_query_info (void)
GBytes *data;
GFile *file;
GFileInfo *info;
- const char *content_type, *mime_type;
+ const char *content_type;
+ gchar *mime_type = NULL;
const char *fs_type;
gboolean readonly;
@@ -573,6 +574,7 @@ test_uri_query_info (void)
mime_type = g_content_type_get_mime_type (content_type);
g_assert (mime_type);
g_assert_cmpstr (mime_type, ==, "text/plain");
+ g_free (mime_type);
g_object_unref (info);
diff --git a/gio/tests/simple-proxy.c b/gio/tests/simple-proxy.c
index f1eb6af9b..ffc16eddd 100644
--- a/gio/tests/simple-proxy.c
+++ b/gio/tests/simple-proxy.c
@@ -77,6 +77,7 @@ test_uris (void)
g_assert_cmpstr (error->message, ==, str);
g_clear_error (&error);
g_assert_null (proxies);
+ g_object_unref (result);
g_object_unref (resolver);
g_free (str);
diff --git a/gio/tests/task.c b/gio/tests/task.c
index 08d78e5ef..934262e40 100644
--- a/gio/tests/task.c
+++ b/gio/tests/task.c
@@ -1902,6 +1902,7 @@ legacy_error_callback (GObject *object,
g_assert_error (error, G_IO_ERROR, G_IO_ERROR_FAILED);
*result_out = -2;
+ g_clear_error (&error);
}
else
{
diff --git a/gio/tests/unix-streams.c b/gio/tests/unix-streams.c
index dafaf66aa..67a90d83d 100644
--- a/gio/tests/unix-streams.c
+++ b/gio/tests/unix-streams.c
@@ -178,6 +178,7 @@ main_thread_read (GObject *source, GAsyncResult *res, gpointer user_data)
if (g_cancellable_is_cancelled (main_cancel))
{
do_main_cancel (out);
+ g_clear_error (&err);
return;
}
@@ -214,6 +215,7 @@ main_thread_wrote (GObject *source, GAsyncResult *res, gpointer user_data)
if (g_cancellable_is_cancelled (main_cancel))
{
do_main_cancel (out);
+ g_clear_error (&err);
return;
}