mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-09 18:54:04 +02:00
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.
This commit is contained in:
@@ -1053,8 +1053,9 @@ g_socket_client_connect (GSocketClient *client,
|
|||||||
g_propagate_error (error, last_error);
|
g_propagate_error (error, last_error);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
{
|
||||||
_("Unknown error on connect"));
|
g_assert_not_reached ();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1879,10 +1880,9 @@ g_socket_client_enumerator_callback (GObject *object,
|
|||||||
error = data->last_error;
|
error = data->last_error;
|
||||||
data->last_error = NULL;
|
data->last_error = NULL;
|
||||||
}
|
}
|
||||||
else if (!error)
|
else
|
||||||
{
|
{
|
||||||
g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
g_assert (error);
|
||||||
_("Unknown error on connect"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
complete_connection_with_error (data, error);
|
complete_connection_with_error (data, error);
|
||||||
|
Reference in New Issue
Block a user