diff options
-rw-r--r-- | gsupplicant/supplicant.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index 5e9f5095..28c95eae 100644 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -5540,11 +5540,13 @@ static void decryption_request_reply(DBusPendingCall *call, if (dbus_set_error_from_message(&error, reply)) { SUPPLICANT_DBG("decryption_request_reply() %s %s", error.name, error.message); dbus_error_free(&error); + ret = -EINVAL; goto done; } if (dbus_message_iter_init(reply, &args) == FALSE) { SUPPLICANT_DBG("dbus_message_iter_init() failed"); + ret = -EINVAL; goto done; } @@ -5559,6 +5561,7 @@ static void decryption_request_reply(DBusPendingCall *call, interface_add_network_result, data, data->interface); +done: if (ret < 0) { SUPPLICANT_DBG("AddNetwork failed %d", ret); callback_assoc_failed(decrypt_request_data.data->user_data); @@ -5567,7 +5570,6 @@ static void decryption_request_reply(DBusPendingCall *call, dbus_free(data); } -done: dbus_message_unref(reply); dbus_pending_call_unref(call); |