diff options
author | Anders Svensson <[email protected]> | 2017-10-13 15:47:14 +0200 |
---|---|---|
committer | Anders Svensson <[email protected]> | 2017-10-13 17:09:02 +0200 |
commit | d2e0866cd6a734b046672f862b73970bd5a9a27e (patch) | |
tree | dc8db407b5b5b5475d3e10227b67757859ea386e /lib/diameter/src/base | |
parent | 919ef5de2858e606d4a9be3e0e995b0802c76e33 (diff) | |
download | otp-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.
Diffstat (limited to 'lib/diameter/src/base')
-rw-r--r-- | lib/diameter/src/base/diameter_gen.erl | 2 |
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}} |