summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cyrsasl_digest.erl6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cyrsasl_digest.erl b/src/cyrsasl_digest.erl
index 1dfd5493..19069517 100644
--- a/src/cyrsasl_digest.erl
+++ b/src/cyrsasl_digest.erl
@@ -87,15 +87,17 @@ parse1([], [], T) ->
parse1([], _S, _T) ->
bad.
-parse2([$" | Cs], Key, Val, Ts) ->
+parse2([$\" | Cs], Key, Val, Ts) ->
parse3(Cs, Key, Val, Ts);
parse2([C | Cs], Key, Val, Ts) ->
parse4(Cs, Key, [C | Val], Ts);
parse2([], _, _, _) ->
bad.
-parse3([$" | Cs], Key, Val, Ts) ->
+parse3([$\" | Cs], Key, Val, Ts) ->
parse4(Cs, Key, Val, Ts);
+parse3([$\\, C | Cs], Key, Val, Ts) ->
+ parse3(Cs, Key, [C | Val], Ts);
parse3([C | Cs], Key, Val, Ts) ->
parse3(Cs, Key, [C | Val], Ts);
parse3([], _, _, _) ->