fix(ldap): no crash when no query result is empty list
This commit is contained in:
parent
b59a7ff2dd
commit
02ef854f0f
|
@ -262,10 +262,12 @@ do_ldap_query(
|
|||
ldap_connector_query_return,
|
||||
#{result => Result}
|
||||
),
|
||||
case Result#eldap_search_result.entries of
|
||||
[_] = Entry ->
|
||||
{ok, Entry};
|
||||
[_ | _] = L ->
|
||||
Entries = Result#eldap_search_result.entries,
|
||||
Count = length(Entries),
|
||||
case Count =< 1 of
|
||||
true ->
|
||||
{ok, Entries};
|
||||
false ->
|
||||
%% Accept only a single exact match.
|
||||
%% Multiple matches likely indicate:
|
||||
%% 1. A misconfiguration in EMQX, allowing overly broad query conditions.
|
||||
|
@ -276,7 +278,7 @@ do_ldap_query(
|
|||
error,
|
||||
LogMeta#{
|
||||
msg => "ldap_query_found_more_than_one_match",
|
||||
count => length(L)
|
||||
count => length(Entries)
|
||||
}
|
||||
),
|
||||
{error, {unrecoverable_error, Msg}}
|
||||
|
|
Loading…
Reference in New Issue