diff options
Diffstat (limited to 'src/libcharon/sa/eap/eap_manager.c')
-rw-r--r-- | src/libcharon/sa/eap/eap_manager.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libcharon/sa/eap/eap_manager.c b/src/libcharon/sa/eap/eap_manager.c index ad2628393..520c0ce56 100644 --- a/src/libcharon/sa/eap/eap_manager.c +++ b/src/libcharon/sa/eap/eap_manager.c @@ -115,6 +115,12 @@ static bool filter_methods(uintptr_t role, eap_entry_t **entry, { return FALSE; } + if ((*entry)->vendor == 0 && + ((*entry)->type < 4 || (*entry)->type == EAP_EXPANDED || + (*entry)->type > EAP_EXPERIMENTAL)) + { /* filter invalid types */ + return FALSE; + } if (type) { *type = (*entry)->type; |