From b2095ebcfe82cdbd735909f9d472173eba4836e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Chmielowski?= Date: Mon, 26 Feb 2018 09:36:56 +0100 Subject: [PATCH] Simplify code for splitting auth string in cyrsasl This may fix problem from issue #2296 --- src/cyrsasl_plain.erl | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/cyrsasl_plain.erl b/src/cyrsasl_plain.erl index ec52b00a8..3bdcf8476 100644 --- a/src/cyrsasl_plain.erl +++ b/src/cyrsasl_plain.erl @@ -81,15 +81,8 @@ prepare(ClientIn) -> _ -> error end. -parse(S) -> parse1(binary_to_list(S), "", []). - -parse1([0 | Cs], S, T) -> - parse1(Cs, "", [list_to_binary(lists:reverse(S)) | T]); -parse1([C | Cs], S, T) -> parse1(Cs, [C | S], T); -%parse1([], [], T) -> -% lists:reverse(T); -parse1([], S, T) -> - lists:reverse([list_to_binary(lists:reverse(S)) | T]). +parse(S) -> + binary:split(S, <<0>>, [global]). parse_domain(S) -> parse_domain1(binary_to_list(S), "", []).