aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Svensson <[email protected]>2014-10-10 17:18:04 +0200
committerAnders Svensson <[email protected]>2014-10-10 17:30:09 +0200
commite12f7043f05431c4278f1ed506e0f76b1c95152d (patch)
tree9311adeba84fbcfb2c85784e09df8a57a12430eb
parent743ed31108ee555db18d9833186865e85e34333e (diff)
downloadotp-e12f7043f05431c4278f1ed506e0f76b1c95152d.tar.gz
otp-e12f7043f05431c4278f1ed506e0f76b1c95152d.tar.bz2
otp-e12f7043f05431c4278f1ed506e0f76b1c95152d.zip
Fix handling of 3xxx Result-Code without E-bit
Commit 00584303 broke the population of the errors field of the diameter_packet record when an incoming request with an E-bit/Result-Code mismatch was decoded. Instead of the intended {5004, #diameter_avp{value = integer()}}, the value was a 4-tuple containing the integer Result-Code.
-rw-r--r--lib/diameter/src/base/diameter_traffic.erl2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/diameter/src/base/diameter_traffic.erl b/lib/diameter/src/base/diameter_traffic.erl
index 280d09d7e8..8becf7bd5f 100644
--- a/lib/diameter/src/base/diameter_traffic.erl
+++ b/lib/diameter/src/base/diameter_traffic.erl
@@ -1484,7 +1484,7 @@ handle_A(Pkt, SvcName, Dict, Dict0, App, #request{transport = TPid} = Req) ->
%% a missing AVP. If both are optional in the dictionary
%% then this isn't a decode error: just continue on.
answer(Pkt, SvcName, App, Req);
- exit: {invalid_error_bit, RC} ->
+ exit: {invalid_error_bit, {_, _, _, RC}} ->
#diameter_packet{errors = Es}
= Pkt,
E = {5004, #diameter_avp{name = 'Result-Code', value = RC}},