mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-31 02:00:14 +01:00
ofono: fix crash during complete-connection for Ofono modem
nm_modem_complete_connection() cannot just return FALSE in case the modem doesn't overwrite complete_connection(). It must set the error variable. This leads to a crash when calling AddAndActivate for Ofono type modem. It does not affect the ModemManager implementation NMModemBroadband, because that one implements the method.
This commit is contained in:
parent
af97b9a41e
commit
14adbc692a
1 changed files with 11 additions and 3 deletions
|
|
@ -1094,9 +1094,17 @@ nm_modem_complete_connection (NMModem *self,
|
|||
const GSList *existing_connections,
|
||||
GError **error)
|
||||
{
|
||||
if (NM_MODEM_GET_CLASS (self)->complete_connection)
|
||||
return NM_MODEM_GET_CLASS (self)->complete_connection (self, connection, existing_connections, error);
|
||||
return FALSE;
|
||||
NMModemClass *klass;
|
||||
|
||||
klass = NM_MODEM_GET_CLASS (self);
|
||||
if (!klass->complete_connection) {
|
||||
g_set_error (error, NM_DEVICE_ERROR, NM_DEVICE_ERROR_INVALID_CONNECTION,
|
||||
"Modem class %s had no complete_connection method",
|
||||
G_OBJECT_TYPE_NAME (self));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return klass->complete_connection (self, connection, existing_connections, error);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue