aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Svensson <[email protected]>2017-10-13 15:47:14 +0200
committerAnders Svensson <[email protected]>2017-10-13 17:09:02 +0200
commitd2e0866cd6a734b046672f862b73970bd5a9a27e (patch)
treedc8db407b5b5b5475d3e10227b67757859ea386e
parent919ef5de2858e606d4a9be3e0e995b0802c76e33 (diff)
downloadotp-d2e0866cd6a734b046672f862b73970bd5a9a27e.tar.gz
otp-d2e0866cd6a734b046672f862b73970bd5a9a27e.tar.bz2
otp-d2e0866cd6a734b046672f862b73970bd5a9a27e.zip
Fix faulty recursion
The wrong variable was passed into the decode recursion, causing the options map to be contaminated by strict_mbit and failed_avp modifications that should only apply to component AVPs in the Grouped case. Decode errors and M-bits could be ignored as a result.
-rw-r--r--lib/diameter/src/base/diameter_gen.erl2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/diameter/src/base/diameter_gen.erl b/lib/diameter/src/base/diameter_gen.erl
index d3b9f704fe..3d7d443fd4 100644
--- a/lib/diameter/src/base/diameter_gen.erl
+++ b/lib/diameter/src/base/diameter_gen.erl
@@ -320,7 +320,7 @@ decode(Bin, Code, Vid, DataLen, Pad, M, P, Name, Mod, Fmt, Strict, Opts0,
index = Idx},
Dec = dec(Data, Name, NameT, Mod, Fmt, Opts, Avp),
- Acc = decode(T, Name, Mod, Fmt, Strict, Opts, Idx+1, AM),%% recurse
+ Acc = decode(T, Name, Mod, Fmt, Strict, Opts0, Idx+1, AM),%% recurse
acc(Acc, Dec, I, Field, Arity, Strict, Mod, Opts);
_ ->
{NameT, _Field, _Arity, {_, AM}}