From 14f7b5e590f6adc3207019227586d20848274654 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Mon, 5 Oct 2020 12:32:32 -0500 Subject: [PATCH] gsocketclient: Crash on error if error is missing We should never return unknown errors to the application. This would be a glib bug. I don't think it's currently possible to hit these cases, so asserts should be OK. For this to happen, either (a) a GSocketAddressEnumerator would have to return NULL on its first enumeration, without returning an error, or (b) there would have to be a bug in our GSocketClient logic. Either way, if such a bug were to exist, it would be better to surface it rather than hide it. These changes are actually going to be effectively undone in a subsequent commit, as I'm refactoring the error handling, but the commit history is a bit nicer with two separate commits, so let's go with two. --- gio/gsocketclient.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gio/gsocketclient.c b/gio/gsocketclient.c index 9df8f290f..fb68c0966 100644 --- a/gio/gsocketclient.c +++ b/gio/gsocketclient.c @@ -1053,8 +1053,9 @@ g_socket_client_connect (GSocketClient *client, g_propagate_error (error, last_error); } else - g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED, - _("Unknown error on connect")); + { + g_assert_not_reached (); + } break; } @@ -1879,10 +1880,9 @@ g_socket_client_enumerator_callback (GObject *object, error = data->last_error; data->last_error = NULL; } - else if (!error) + else { - g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_FAILED, - _("Unknown error on connect")); + g_assert (error); } complete_connection_with_error (data, error);