match_data->auth_index = selected_auth_data->auth_index;
match_data->asm_id = strdup(selected_auth_data->asm_id);
- if ((cb_data != NULL) && (cb_data->type == _PROCESS_TYPE_REG))
+ if (cb_data->type == _PROCESS_TYPE_REG)
__handle_reg(cb_data, match_data);
-
- if ((cb_data != NULL) && (cb_data->type == _PROCESS_TYPE_AUTH))
+ else if (cb_data->type == _PROCESS_TYPE_AUTH)
__handle_auth(cb_data, match_data);
-
+ else {
+ _send_process_response(cb_data, FIDO_ERROR_UNKNOWN, NULL);
+ _free_matched_auth_data(match_data);
+ return;
+ }
_free_matched_auth_data(match_data);
}
if (allowed_auth_list_iter != NULL) {
_matched_auth_data_t *match_data = (_matched_auth_data_t *)(allowed_auth_list_iter->data);
- if ((cb_data != NULL) && (cb_data->type == _PROCESS_TYPE_REG))
+ if (cb_data->type == _PROCESS_TYPE_REG)
__handle_reg(cb_data, match_data);
-
- if ((cb_data != NULL) && (cb_data->type == _PROCESS_TYPE_AUTH))
+ else if (cb_data->type == _PROCESS_TYPE_AUTH)
__handle_auth(cb_data, match_data);
+ else {
+ _send_process_response(cb_data, FIDO_ERROR_UNKNOWN, NULL);
+ if (allowed_auth_list != NULL)
+ g_list_free_full(allowed_auth_list, _free_matched_auth_data);
+ return;
+ }
}
}
if (allowed_auth_list != NULL)